gabebu
Goto Top

Powershell Active Directory Benutzer hinufügen via csvde mit CSV Benutzer aktiviert???

Hallo Zusammen

Ich bin gerade daran, für eine Arbeit ein grösseres Powershellscript zu schreiben. Es soll unter anderem aus einer CSV-Datei Benutzer auslesen können und die dann in der AD hinzufügen. Nun habe ich folgendes Problem:
Das hinzufügen mit folgender CSV funktioniert schonmal:

DN,objectClass,sAMAccountName,userPrincipalName
"CN=testest,OU=ZugelasseneMaschinen,OU=UEB,DC=ueb,DC=lokal",user,testest,testtest@ueb.lokal  

Das ist schonmal optimal, nur leider werden die Benutzer deaktiviert hinzugefügt, was natürlich nicht der Fall sein sollte. Gut, ich habe mich ein wenig informiert, ich brauche noch den Wert "userAccountControl". Den habe ich wie folgt hinzugefügt:
DN,objectClass,sAMAccountName,userPrincipalName,userAccountControl
"CN=testest,OU=ZugelasseneMaschinen,OU=UEB,DC=ueb,DC=lokal",user,testest,testtest@ueb.lokal,512  

Nun bekomme ich aber leider die Meldung, dass meine Berechtigung nicht ausreiche (als Administrator angemeldet und das Powershellscript als Administrator ausgeführt):
PS C:\Users\Administrator\Desktop> csvde -i -k -f test.csv
Verbindung mit "(null)" wird hergestellt.  
Anmelden als aktueller Benutzer unter Verwendung von SSPI
Das Verzeichnis wird aus der Datei "test.csv" importiert.  
Die Einträge werden geladen..
Fehler in Zeile 2: Ausführung verweigert
Serverseitiger Fehler: "1325"  
0 Einträge wurden erfolgreich geändert.
Fehler im Programm
Es wurden keine Protokolldateien geschrieben. Geben Sie mit der Opt
Protokolldateipfad an, um eine Protokolldatei zu generieren.

Ich habe etwas gelesen, dass man Passworteinstellungen setzten müsste. Könnt ihr mir da weiterhelfen? Und wenn ich schon dabei bin: wie kann ich in der CSV das Passwort setzen (ich bräuchte als Passwort den gleichen wert wie beim Benutzername).

Besten Dank.

Gruss

gabeBU

Content-ID: 230280

Url: https://administrator.de/forum/powershell-active-directory-benutzer-hinufuegen-via-csvde-mit-csv-benutzer-aktiviert-230280.html

Ausgedruckt am: 05.04.2025 um 05:04 Uhr

colinardo
colinardo 18.02.2014 aktualisiert um 15:42:34 Uhr
Goto Top
Hallo gabeBU,
schau mal hier rein: Benutzer Massenimport per CSVDE
und nutze für UserAccountControl den Flag 544, dann wird beim Anlegen des Users keine Passwortangabe benötigt.

Grüße Uwe
Belloci
Belloci 18.02.2014 um 15:47:45 Uhr
Goto Top
Welch ein schöner Thread der da verlinkt wurde. Klappt aber nach wie vor face-smile
gabeBU
gabeBU 18.02.2014 um 15:49:06 Uhr
Goto Top
Hallo Colinardo

Besten dank, jetzt funktionierts, aber wie es scheint kann ich mit CSVDE kein Passwort generieren...dann muss ich es wohl anderst versuchen.

Danke einenwegs.
colinardo
colinardo 18.02.2014 aktualisiert um 15:52:04 Uhr
Goto Top
Zitat von @gabeBU:
Besten dank, jetzt funktionierts, aber wie es scheint kann ich mit CSVDE kein Passwort generieren...dann muss ich es wohl anderst
versuchen.
dann generiere dir die Erstpasswörter mit einem der diversen Passwortgeneratoren und füge sie deiner CSV-Datei hinzu ... mit Powershell ein Klacks.
colinardo
colinardo 18.02.2014 aktualisiert um 17:03:43 Uhr
Goto Top
Hier ein Powershell-Schnippsel mit dem du dir ein paar Passwörter generieren und deiner CSV-Datei hinzufügen kannst:
Es fügt deiner CSV-Datei jedem User ein zufälliges 15-stelliges Passwort hinzu. (Pfad zur CSV-Datei in Zeile 1 und 2)
$strPath = "C:\users.csv"  
$strPathOut = "C:\users_withpass.csv"  
$csv = import-csv $strPath -Delimiter ","  
$csv | Add-Member -MemberType NoteProperty -Name "Password" -Value ""  
$objRND = New-Object System.Random

Function newPass($length){
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890"  
    $pass = ""  
    for ($i = 0; $i -lt $length; $i++){
        $pass += $chars.Substring($objRND.Next($chars.Length),1)
    }
    $pass
}
$csv | %{$_.Password = $(newPass 15)}
$csv | Export-Csv $strPathOut -Delimiter "," -NoTypeInformation  
Vielleicht hilft dir das face-wink

Grüße Uwe
gabeBU
gabeBU 19.02.2014 um 12:30:05 Uhr
Goto Top
Coole Idee, leider brauche ich für mein Script als Passwort denselben Wert wie der Nutzername (es ist eine MAC-Authentifizierung, da muss beim Benutzeraccount die MAC-Adresse als Kontonamen und als Passwort genutzt werden).