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-Key: 230280

Url: https://administrator.de/contentid/230280

Printed on: April 18, 2024 at 06:04 o'clock

Member: colinardo
colinardo Feb 18, 2014 updated at 14:42:34 (UTC)
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
Member: Belloci
Belloci Feb 18, 2014 at 14:47:45 (UTC)
Goto Top
Welch ein schöner Thread der da verlinkt wurde. Klappt aber nach wie vor face-smile
Member: gabeBU
gabeBU Feb 18, 2014 at 14:49:06 (UTC)
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.
Member: colinardo
colinardo Feb 18, 2014 updated at 14:52:04 (UTC)
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.
Member: colinardo
colinardo Feb 18, 2014 updated at 16:03:43 (UTC)
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
Member: gabeBU
gabeBU Feb 19, 2014 at 11:30:05 (UTC)
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).