Erstellen und Aktualisieren von Benutzern aus HR-CSV-Dateien mithilfe von PowerShell

Letzte Aktualisierung: 29/03/2026
Autor: Holger
  • Die kombinierte Verwendung von HR-CSV-Dateien und Import-Csv in PowerShell ermöglicht die Massenerstellung und -aktualisierung von Benutzern in Active Directory, Azure AD und Microsoft 365.
  • Cmdlets wie New-ADUser, New-MsolUser und New-MgUser unterstützen Dutzende von Parametern, um sowohl grundlegende als auch erweiterte Attribute abzudecken, darunter Passwörter, Organisationseinheiten, Lizenzen und Gruppen.
  • Durch die Automatisierung des Datenflusses aus der HR-Datenquelle werden menschliche Fehler reduziert, die Bereitstellung beschleunigt und die ordnungsgemäße Deaktivierung von Konten erleichtert, wenn ein Mitarbeiter das Unternehmen verlässt.
  • Die Kombination aus gut konzipierten Skripten und spezialisierten Synchronisierungslösungen ermöglicht einen kontrollierten, sicheren und leicht nachvollziehbaren Identitätslebenszyklus.

Benutzerverwaltung mit PowerShell und CSV

Wenn die Personalabteilung wöchentlich Listen mit Neueinstellungen, Kündigungen und Personalveränderungen verschickt, ist das Letzte, was ein Administrator tun möchte, manuell Konten in Active Directory oder Microsoft 365 zu erstellen. Automatisierte Benutzererstellung und -aktualisierung aus einer CSV-Datei mithilfe von PowerShell Es ist eine sehr effektive Methode, um sich wiederkehrende Arbeiten zu ersparen, menschliche Fehler zu reduzieren und das Verzeichnis stets auf dem neuesten Stand zu halten.

In hybriden oder vollständig Cloud-basierten Umgebungen ist das Prinzip dasselbe: Man geht von einer Datenquelle aus, in der Regel Personalwesen, und ermöglicht es den Benutzern, ihre Daten nahezu ohne manuelle Eingriffe selbst zu erstellen, zu aktualisieren oder zu deaktivieren. PowerShell, zusammen mit Cmdlets wie New-ADUser, New-MsolUser oder New-MgUser und Import-CsvEs bietet alles, was Sie benötigen, um von einem einfachen Skript bis hin zu einem vollständig automatisierten Workflow, der in SharePoint, Datenbanken oder Flatfiles integriert ist, alles zu erstellen.

Grundlagen: Von der Personalabteilung zum Verzeichnis mit CSV und PowerShell

Die Grundlage des gesamten Prozesses ist sehr einfach: Die Personalabteilung führt eine strukturierte Liste der Personen und ihrer Daten. (Name, Nachname, Kontonummer, Abteilung usw.), und die IT-Abteilung nutzt diese Informationen, um Benutzerkonten zu erstellen oder zu ändern. Das praktischste Austauschformat ist üblicherweise ein CSV-Datei (durch Kommas getrennte Werte oder anderes Trennzeichen).

Eine CSV-Datei ist einfach eine Textdatei, in der jede Zeile einen Benutzer und jede Spalte ein Attribut darstellt. Die erste Zeile der Datei enthält die Spaltennamendiese werden wir als Eigenschaften in PowerShell verwenden. Es ist entscheidend, dass diese Header mit den Parametern oder Eigenschaften übereinstimmen, die wir in den Cmdlets verwenden, zum Beispiel: Vorname, Nachname, SamAccountName, UserPrincipalName, Abteilung, usw.

Auf der PowerShell-Seite ist das Cmdlet der entscheidende Bestandteil. Import-CsvDiese Funktion liest die Datei und erzeugt für jede Zeile ein Objekt. Von dort aus… Wir können diese Objekte in einer Pipeline mit Cmdlets wie New-ADUser, New-MsolUser oder New-MgUser verketten.oder durchlaufen Sie sie foreach um mehr Kontrolle über die Geschäftslogik zu haben (Validierungen, Vorabprüfungen, Gruppenzuordnung usw.).

Bevor Sie anfangen, Benutzer zu erstellen, als gäbe es kein Morgen, ist es ratsam, die Umgebung vorzubereiten. In einer lokalen Domäne muss das Active Directory-Modul installiert und aktiviert sein. (Windows Server 2008 R2/2012 oder höher). In Microsoft 365/Azure AD-Umgebungen können wir mit dem klassischen Modul arbeiten. MSOnline Oder, noch besser, mit dem neuen Modul Microsoft Graph PowerShell.

CSV-Datei für Personalwesen zur Benutzerverwaltung

Massenhafte Erstellung von Benutzern im lokalen Active Directory mit New-ADUser

In einer klassischen Active Directory-Umgebung ist das flexibelste Werkzeug zur Bereitstellung von Benutzerkonten das Active Directory-Modul mit PowerShell. Mit dem Cmdlet New-ADUser können Sie von einem einzelnen Konto bis hin zu Tausenden von Benutzern alles erstellen., mit einem Detaillierungsgrad der Attribute, der mit grafischen Oberflächen wie ADUC oder ADAC nur sehr schwer zu erreichen ist.

Die Syntax für New-ADUser ist umfangreich und umfasst mehr als 60 Parameter, in der Praxis arbeiten wir jedoch üblicherweise mit einer Teilmenge. Eigenschaften wie Name, Vorname, Nachname, SamAccountName, UserPrincipalName, Pfad, Aktiviert, Kontopasswort Ähnliche Attribute decken die meisten Benutzerregistrierungsszenarien ab. Für die verbleibenden, weniger gebräuchlichen Attribute haben wir den Parameter -Weitere Attribute.

Wichtig zu beachten ist, dass wir, wenn wir einen Benutzer mit den minimalen Parametern erstellen, Das Konto wird im Standardcontainer „Benutzer“ erstellt, ist deaktiviert, hat kein Passwort und gehört zur Gruppe „Domänenbenutzer“.Wenn das Konto von Anfang an funktionsfähig sein soll, müssen wir ein gültiges Passwort festlegen, es aktivieren und in der Regel auch einige andere grundlegende Daten wie Organisationseinheit, Abteilung oder Stadt konfigurieren.

Anstatt jedes Mal alle Parameter manuell einzugeben, ist es üblich eine Art Benutzervorlage definierenBei dieser Vorlage kann es sich buchstäblich um ein AD-Konto handeln, das wir mithilfe des Parameters kopieren. -Beispiel oder ein Objekt, das wir mit den gemeinsamen Werten füllen und an New-ADUser übergeben. Auf diese Weise Wir können Eigenschaften wie Gruppen, Büros, Abteilungen oder benutzerdefinierte Attribute klonen. ohne sie in jedem Befehl neu zu schreiben.

Bereiten Sie die CSV-Datei für Active Directory vor.

Um mit New-ADUser massenhaft Konten zu erstellen, muss als erstes die CSV-Datei korrekt erstellt werden. Die bequemste Option ist in der Regel die Verwendung von Excel, LibreOffice Calc oder einem ähnlichen Programm.In der ersten Zeile tragen wir die Namen der Eigenschaften ein, die wir verwenden möchten (ohne den Bindestrich, der in Cmdlets vorkommt). Wenn wir beispielsweise in PowerShell Folgendes verwenden möchten: -VornameIn der CSV-Datei sollte die Spalte den Namen tragen. Vorname.

In jeder nachfolgenden Zeile fügen wir die Daten eines Benutzers hinzu und berücksichtigen dabei die Spalten. Es ist wichtig, dass die Datei in UTF-8 kodiert gespeichert wird. und mit einem Standardtrennzeichen. Wenn wir ein Komma verwenden, funktioniert Import-Csv ohne zusätzliche Parameter, aber Wenn wir ein Semikolon oder ein anderes Symbol verwenden, müssen wir es mit -Delimiter angeben.Etwas wie:

  Tutorial zum Anzeigen und Verwalten gespeicherter Passwörter in Microsoft Edge

Import-Csv «C:\CompanyUsers.csv» -Delimiter «;»

Die Mindestfelder für eine Basisregistrierung sind in der Regel SamAccountName, GivenName, Nachname, UserPrincipalName und PasswortWeitere Felder wie Stadt, Abteilung, Firma, Organisationseinheit, Telefonnummer oder Durchwahlattribute können als zusätzliche Spalten hinzugefügt werden, und wir werden deren Verwendung im Skript berücksichtigen, wenn wir sie benötigen.

Typisches Skript zum Erstellen von AD-Benutzern aus einer CSV-Datei

Ein sehr gängiges Verfahren zum Erstellen von lokalen Benutzern aus einer CSV-Datei sieht wie folgt aus: Importieren Sie die Daten, generieren Sie den UPN und erstellen Sie den vollqualifizierten Namen, weisen Sie ein sicheres Passwort zu und legen Sie zusätzliche Eigenschaften fest. (Stadt, OU-Pfad, Passwortablaufdatum usw.).

Wir könnten beispielsweise eine Datei lesen C:\UsuariosEmpresa.csv und für jeden Datensatz den UPN basierend auf einer Kontospalte und der Domäne generieren, den vollqualifizierten Namen erstellen und den Benutzer in einer bestimmten OU anlegen:

Import-Csv «C:\CompanyUsers.csv» | ForEach-Object {
$upn = $_.Account + "@company.local"
$uname = $_.Name + » » + $_.Apellidos
New-ADUser -Name $uname -Surname $_.LastName -SamAccountName $_.Account -UserPrincipalName $upn -City $_.Province -Path «OU=Users,DC=company,DC=local» -AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -Force) -Enabled $True -PasswordNeverExpires $True -PassThru}

In diesem Beispiel Jede Zeile der CSV-Datei enthält mindestens die Spalten Konto, Name, Nachname, Provinz und Passwort.Zusätzlich zur Erstellung des Benutzers wird ein Klartextpasswort festgelegt, das wir dann mit in eine sichere Zeichenkette umwandeln. ConvertTo-SecureStringDas Konto ist aktiviert und das Passwort ist als nicht ablaufendes Passwort gekennzeichnet.

Falls wir weitere Attribute benötigen, fügen wir der CSV-Datei einfach Spalten hinzu (zum Beispiel Abteilung, Firma, Büro) und Erweitern Sie den Befehl New-ADUser um Parameter wie -Department $_.DepartmentWir können den Benutzer im selben Prozess sogar einer oder mehreren Gruppen hinzufügen. Add-ADGroupMembervorausgesetzt, wir stellen sicher, dass die Konten existieren, bevor wir versuchen, sie hinzuzufügen.

Einfacher Massenimport mit direkter Pipeline

Wenn die CSV-Daten bereits mit Spaltennamen vorbereitet sind, die den New-ADUser-Parametern entsprechen, können wir eine noch kompaktere Form verwenden: Das Ergebnis von Import-Csv wird direkt an New-ADUser übergeben.. Zum Beispiel:

Import-Csv .\users.csv | New-ADUser

In diesem Fall wird jeder Spalte automatisch der entsprechende Parameter zugeordnet, obwohl Wir können allgemeine Eigenschaften für alle Konten nur dann durchsetzen, wenn wir sie ausdrücklich angeben.Es ist gängige Praxis, diese Pipeline um zusätzliche Optionen zu erweitern:

Import-Csv .\users.csv | New-ADUser -Enabled $True -AccountPassword (ConvertTo-SecureString -AsPlainText «User.123» -Force) -Path «CN=Users,DC=company,DC=local»

Bei dieser Variante werden die Konten nicht nur anhand der CSV-Felder erstellt, sondern Sie sind alle standardmäßig aktiviert, mit einem gemeinsamen Passwort und in einem Standard-AD-Pfad.Es ist sehr nützlich, wenn wir eine einheitliche Erstregistrierung für alle Mitarbeiter in derselben Welle wünschen.

Nutzung erweiterter Attribute und spezieller Benutzertypen

New-ADUser ist nicht auf die bekanntesten Attribute beschränkt. Mit dem Parameter -OtherAttributes können wir fast jedem Schemaattribut Werte zuweisen.einschließlich Erweiterungsattributen wie extensionAttribute1-15 oder benutzerdefinierten Feldern wie carLicense.

Zusätzlich Nicht alle AD-Benutzer müssen der Benutzerklasse angehören.In manchen Integrationsszenarien mit Legacy-Anwendungen oder LDAP kann es hilfreich sein, Klassenobjekte zu erstellen. inetOrgPersonDies wird mit dem Parameter erreicht. -Type inetOrgPerson in New-ADUser, wobei die übrigen Eigenschaften wie bei einem Standardkonto beibehalten werden.

Bezüglich des Passworts können wir uns dafür entscheiden, den Benutzer zunächst ohne Passwort anzulegen und dann zu verwenden Set-ADAccountPassword y Active-ADAccountOder beides Geben Sie das Passwort bei der Kontoerstellung an und aktivieren Sie das Konto mit den entsprechenden Flags.In Unternehmensumgebungen ist es üblich, dass der Benutzer bei der ersten Anmeldung sein Passwort ändern muss. Diese Option können wir über Kontoeigenschaften oder zusätzliche Cmdlets aktivieren.

Die Technik von einen neuen Benutzer basierend auf einem bestehenden Benutzer erstellenMithilfe von Get-ADUser rufen wir den „Vorlagenbenutzer“ ab, wählen die gewünschten Eigenschaften aus und speichern sie in einem Objekt. Anschließend verwenden wir New-ADUser mit dem Parameter -Beispiel durch Verweisen auf dieses Objekt und Anpassen nur der Attribute, die eindeutig sein müssen (wie SamAccountName, UPN oder E-Mail).

Automatisieren Sie die Erfassung neuer Mitarbeiter aus HR- und SharePoint-Listen

In vielen Organisationen Die Personalabteilung führt eine Liste der Neueinstellungen, Kündigungen und Änderungen in SharePoint Online oder in einer Microsoft 365-Liste.Ein typisches Szenario besteht darin, die Liste manuell als CSV-Datei zu exportieren, sie auf den lokalen Server zu übertragen und ein PowerShell-Skript auszuführen, um die Konten zu erstellen. Dieser Ansatz funktioniert, erfordert aber, dass jemand den regelmäßigen Export überwacht.

Um eine vollständige Automatisierung zu erreichen, kann man Folgendes in Betracht ziehen: Ein Workflow, bei dem SharePoint oder Power Automate selbst die CSV-Datei generiert und/oder das PowerShell-Skript auslöst.In einer hybriden Umgebung ist die Abfolge üblicherweise wie folgt: Die HR-Liste wird aktualisiert, der Workflow generiert die Datei mit der von unserem Skript erwarteten Struktur, diese Datei wird in einer gemeinsam genutzten Ressource abgelegt, und Für die Verarbeitung ist ein auf einem Server mit dem Active Directory-Modul programmiertes Skript zuständig..

Bei dieser Automatisierung ist es ratsam, einige heikle Punkte im Vorfeld zu berücksichtigen. Wir müssen prüfen, ob der Benutzer bereits existiert, um Duplikate zu vermeiden.Um Änderungen an Abteilungen oder Organisationseinheiten (die das Verschieben von Objekten in Active Directory mit Move-ADObject beinhalten können) zu verarbeiten und zwischen Hinzufügungen, Aktualisierungen und Löschungen zu unterscheiden, kann die Personalabteilung anstelle einer einzelnen, statischen CSV-Datei eine Spalte „Aktion“ mit Werten wie „Hinzufügen“, „Ändern“ oder „Löschen“ einfügen, sodass das Skript entsprechend reagiert.

  Erstellen Sie eine Taskleisten-Überlagerung mit Echtzeit-Systemdaten

In einer hybriden Umgebung werden Konten in der Lokales Active Directory (AD) und anschließende Synchronisierung mit Azure AD/Microsoft 365 über Azure AD ConnectDaher befindet sich die gesamte Logik der Erstkonfiguration üblicherweise im lokalen Verzeichnis. Nach der Synchronisierung können wir dann die für die Cloud-Umgebung spezifischen Attribute (Lizenzen, M365-Gruppen, Postfächer usw.) hinzufügen.

Für diejenigen, die die Entwicklung zu vieler eigener Logik vermeiden möchten, gibt es spezielle Lösungen, wie zum Beispiel Netwrix Directory Manager, die erlauben Automatische Synchronisierung von HR-Daten mit Active Directory und Azure ADDiese Tools verbinden sich mit mehreren Datenquellen (CSV-, SQL- oder Oracle-Datenbanken usw.) und bieten eine grafische Benutzeroberfläche sowie programmierbare Synchronisierungsaufträge, um Benutzerkonten mit weniger manuellem Skripting zu erstellen, zu aktualisieren und zu entfernen.

Erstellen und Aktualisieren von Benutzern in Microsoft 365 und Azure AD aus CSV-Dateien

Wenn der Fokus auf der Cloud liegt, bleibt die Philosophie dieselbe, nur werden andere Werkzeuge eingesetzt. Wir können mit dem MSOnline-Modul oder, vorzugsweise, mit dem Microsoft Graph PowerShell-Modul arbeiten.Dies ist der moderne Standard für die Verwaltung von Microsoft 365 und Entra ID (Azure AD).

In beiden Fällen verwenden wir als Ausgangspunkt eine CSV-Datei, die die erforderlichen Eigenschaften enthält. Bei der Cloud-Verwaltung sind der UserPrincipalName, die Lizenz und der UsageLocation von besonderer Bedeutung.da sie bestimmen, wie sich der Benutzer anmeldet und welche Dienste aktiviert sind.

Um eine Verbindung zu Microsoft Graph PowerShell herzustellen, benötigen wir ein Konto mit der entsprechenden Rolle (zum Beispiel Benutzeradministrator oder globaler Administrator) und erteilen Sie dem Modul die erforderlichen Berechtigungen. Typischerweise stellen wir die Verbindung folgendermaßen her:

Connect-MgGraph -Scopes «User.ReadWrite.All»

Sobald die Verbindung hergestellt ist, können wir Cmdlets wie z. B. verwenden. New-MgUser, Get-MgUser oder Set-MgUserLicense Benutzer registrieren, ihre Daten einsehen und Lizenzen zuweisen. Genau wie bei lokalem Active Directory ermöglicht die Kombination aus Import-CSV und foreach eine detaillierte Steuerung des Prozesses.

Anforderungen an die Benutzereigenschaften von Microsoft 365

Bei der Erstellung von Benutzern in Microsoft 365 gibt es obligatorische Eigenschaften und andere, die optional, aber dringend empfohlen sind. DisplayName und UserPrincipalName sind erforderlich., während Vorname, Nachname, Passwort, Lizenzzuweisung und Nutzungsort das Funktionsprofil vervollständigen.

El Der Anzeigename ist der Name, der anderen Benutzern in Outlook, Teams oder SharePoint angezeigt wird.Der UserPrincipalName ist die Anmelde-ID, üblicherweise im Format UsageLocation ist der ISO 3166-1 alpha-2 Ländercode (z. B. ES, US, FR) und bestimmt aus regulatorischen Gründen, welche Lizenzen vergeben werden können.

Wenn wir bei der Kontoerstellung kein Passwort angegeben haben, Das System vergibt ein zufälliges Passwort, das in der Befehlsausgabe angezeigt wird.In vielen Projekten ist es vorzuziehen, ein kontrolliertes Passwort festzulegen und die Änderung beim ersten Start zu erzwingen. Daher ist es ratsam, eine Passwortspalte in die CSV-Datei aufzunehmen oder diese nach einem internen Muster zu erstellen.

Die Lizenzvergabe kann entweder bei der Registrierung oder in einem zweiten Schritt erfolgen. Jede Lizenz wird durch eine SkuId oder eine SkuPartNumber identifiziert.wie z. B. SPE_E3, SPE_E5, ENTERPRISEPACK usw. Die Liste der im Mandanten verfügbaren SKUs können wir mit folgendem Befehl abrufen: Get-MgSubscribedSku (Grafik) oder Get-MsolAccountSku (MSOnline).

Benutzer in Microsoft 365 mit Microsoft Graph PowerShell erstellen

Um einen einzelnen Benutzer bei Graph zu registrieren, müssen wir zuerst ein Passwortobjekt erstellen und dann New-MgUser mit allen Parametern aufrufen. Das Passwortprofil definiert das anfängliche Passwort und ob der Benutzer es beim nächsten Login ändern soll. (gemäß den zugehörigen Eigenschaften).

Ein vereinfachtes Beispiel wäre:

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = “strongpassword123”
New-MgUser -DisplayName "Juan Pérez" -GivenName "Juan" -Surname "Pérez" -UserPrincipalName "[E-Mail geschützt] » -UsageLocation «ES» -MailNickname «juanp» -PasswordProfile $PasswordProfile -AccountEnabled $true

Für die Massenerstellung folgen wir dem gleichen CSV-basierten Muster. Wir haben eine Datei mit Spalten wie UserPrincipalName, FirstName, LastName, DisplayName, UsageLocation und MailNickname erstellt. und optional weitere Informationen. Anschließend importieren wir die Datei und durchlaufen jede Zeile mithilfe einer foreach-Schleife.

Wir können beispielsweise ein gemeinsames Passwort für alle Benutzer festlegen oder für jeden Benutzer ein zufälliges Passwort generieren. Im ersten Fall genügt es, ein Passwortprofil mit einem festen Passwort zu definieren und dieses in jeder Iteration wiederzuverwenden. Nach der Registrierung können wir mit Set-MgUserLicense Lizenzen zuweisen.Zuerst wird die entsprechende SKU (z. B. SPE_E5) mit dem Befehl Get-MgSubscribedSku ermittelt.

Massenerstellung mit MSOnline und Ergebnisarchiv

Wenn wir das MSOnline-Modul bevorzugen, ist die Logik ähnlich. Wir stellen die Verbindung zum Mandanten über Connect-MsolService her.Wir geben die Anmeldeinformationen eines Kontos mit Berechtigungen zur Benutzerverwaltung an. Anschließend importieren wir die CSV-Datei und durchlaufen sie, wobei wir für jeden Benutzer einen Eintrag generieren. Neuer Msol-Benutzer.

In der CSV-Datei können wir Spalten wie die folgenden einfügen: Benutzerprinzipalname, Vorname, Nachname, Anzeigename, Nutzungsort, Stadt, Passwort, AbteilungDas Feld „UserPrincipalName“ enthält die Anmelde-E-Mail-Adresse, während „Password“ das anfängliche Passwort definiert. Sobald die Datei geladen ist, können wir einen Befehl wie diesen ausführen:

Import-Csv -Path C:\data\users.csv | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -Password $_.Password -City $_.City -Department $_.Department} | Export-Csv -Path C:\data\result.csv -NoTypeInformation

Hier werden neben der Erstellung von Benutzern auch Wir leiten die Ausgabe in eine zweite CSV-Datei um, die das Ergebnis enthält.Diese Datei enthält Informationen wie das generierte Passwort (falls keines angegeben wurde), den Betriebsstatus und weitere Daten. Sie ist sehr nützlich als Nachweis für die Personalabteilung oder für Techniker, die neuen Mitarbeitern Zugangsdaten ausstellen müssen.

  So beheben Sie die 100%ige Festplattenauslastung unter Windows 11 und verbessern die Leistung

Wenn wir schnell alle im Mandanten erstellten Konten anzeigen möchten, können wir Folgendes verwenden: Get-MsolUserIn ähnlicher Weise würden wir bei Microsoft Graph verwenden Get-MgUserund in einer lokalen Active Directory-Umgebung Get-ADUser -Filter * Alle Benutzer in der Domäne auflisten.

Erstellen und Löschen lokaler Benutzer in großen Mengen mit PowerShell

Nicht alle Automatisierungen beziehen sich auf Active Directory oder Microsoft 365. In manchen Laborumgebungen oder bei isolierten Geräten kann es von Interesse sein. Lokale Benutzerkonten erstellen MasseObwohl das Konzept dasselbe ist, werden anstelle von New-ADUser Cmdlets wie beispielsweise Neuer lokaler Benutzer und Add-LocalGroupMember.

Der Arbeitsablauf wiederholt sich: Wir haben eine Benutzer-CSV-Datei mit Spalten wie Name und Passwort erstellt.Dabei ist „name“ der lokale Benutzername und „password“ das anfängliche Passwort. Wir importieren die CSV-Datei mit Import-Csv und erstellen anschließend mithilfe einer foreach-Schleife jedes Konto.

Das Passwort kann nicht im Klartext eingegeben werden, daher wird es umgewandelt mit ConvertTo-SecureString Dies deutet darauf hin, dass es sich um Klartext handelt und die Konvertierung erzwungen werden sollte. Gehen Sie dann zu „New-LocalUser“, um das Konto mit diesem sicheren Passwort zu erstellen, und wählen Sie Optionen wie … -AccountNeverExpires und -PasswordNeverExpires Bei Interesse können wir den Benutzer mit Add-LocalGroupMember zu lokalen Gruppen hinzufügen.

Ein typisches Skript könnte folgende Struktur haben: Importiere die CSV-Datei, iteriere mit foreach durch jede Zeile, konvertiere das Passwort und erstelle den Benutzer.Wir fügen es einer Gruppe hinzu, beispielsweise „Benutzer“. Wir speichern das Skript (z. B. usercreation.ps1), führen es in der PowerShell ISE mit Administratorrechten aus und überprüfen das Ergebnis mit dem Cmdlet. Get-LocalUser.

Mit demselben Ansatz lassen sich lokale Benutzerkonten massenhaft löschen. Man verwendet einfach die CSV-Datei wieder, aber anstatt Benutzer anzulegen, rufen wir... Lokalen Benutzer entfernen Innerhalb der foreach-Schleife wird der Name des zu löschenden Kontos übergeben. Mit nur wenigen Zeilen Code. Wir können Testbenutzer oder temporäre Konten schnell bereinigen. die nicht mehr benötigt werden.

Bewährte Verfahren und zusätzliche Tools zur Synchronisierung mit der Personalabteilung.

Mit dem Wachstum der Organisation Die Bereitstellung von Konten wird zu einem fortlaufenden ProzessNeueinstellungen, Stellenwechsel, Abteilungswechsel, anzupassende Genehmigungen und Kündigungen aufgrund von Ausscheiden aus dem Unternehmen – all dies manuell zu erledigen, birgt ein hohes Fehler- und Verzögerungsrisiko. Daher ist es sinnvoll, diesen Workflow so weit wie möglich zu professionalisieren und zu automatisieren.

Eine gute Praxis ist Es ist klar zu definieren, welches System die „Quelle der Wahrheit“ ist.In vielen Fällen dient das HR-System als Referenzpunkt, und Verzeichnisse (AD, Azure AD, Microsoft 365) nutzen diese Informationen. Die Arbeit mit CSV-Dateien ist eine einfache Lösung, aber Sie können noch einen Schritt weiter gehen, indem Sie PowerShell direkt mit SQL- oder Oracle-Datenbanken verbinden.oder mithilfe von Drittanbieter-Tools, die diese Synchronisierung bidirektional durchführen.

Lösungen wie Netwrix Directory Manager Sie ermöglichen beispielsweise die automatische Synchronisierung von HR-Daten mit Active Directory, Azure AD und Microsoft 365. Diese Produkte bieten typischerweise grafische Assistenten, mit denen Sie Quellen (CSV, SQL, Oracle) und Ziele (AD, Azure AD, Postfächer, Kontakte) definieren.sowie Regeln für das Erstellen, Aktualisieren oder Deaktivieren von Konten basierend auf Änderungen, die in der Quelle festgestellt werden.

Bei der Konzeption dieser Integration muss der gesamte Benutzerlebenszyklus berücksichtigt werden. Es genügt nicht, ein Konto zu erstellen.Es muss stets aktuell gehalten werden (Namensänderungen, Abteilungswechsel, Beförderungen) und, ganz wichtig, deaktiviert werden, wenn der Mitarbeiter das Unternehmen verlässt. Darüber hinaus müssen Berechtigungen in Sicherheits- und Vertriebsgruppen Sie müssen jederzeit die tatsächliche Stellung der Person widerspiegeln, um das Risiko übermäßiger Privilegien zu minimieren.

Es ist außerdem wichtig, auf die Qualität der Daten zu achten: Eine fehlerhafte CSV-Datei mit falschen Trennzeichen, falscher Kodierung oder falsch ausgerichteten Spalten kann zu Fehlern führen, die schwer zu finden sind.Es wird empfohlen, Dateien vor der Verarbeitung in der Produktion zu validieren, Tests in Laborumgebungen durchzuführen und ein Protokoll aller durchgeführten Operationen zu führen, um Änderungen nachverfolgen und Fehler beheben zu können, falls etwas schiefgeht.

Mit einer geeigneten Kombination von Gutes CSV-Design, gut strukturierte PowerShell-Skripte und, falls erforderlich, spezialisierte Synchronisierungstools.Ein sehr effizienter Prozess ist möglich: Die Personalabteilung bereitet die Daten auf oder aktualisiert sie, und anschließend erfolgen das Hinzufügen, Ändern und Löschen von Benutzern nahezu automatisch – sowohl im lokalen Active Directory als auch in Microsoft 365 und anderen verbundenen Systemen. Dies bedeutet weniger Routineaufgaben für Administratoren, weniger Tippfehler und eine deutlich besser auf die individuellen Bedürfnisse jedes Benutzers zugeschnittene Sicherheit.

Verwalten von Benutzern und Gruppen in Active Directory-4
In Verbindung stehender Artikel:
So verwalten Sie Benutzer und Gruppen in Active Directory: Eine vollständige Anleitung