Accounts im Active Directory automatisch anlegen - Programm gesucht
Hallo,
zirka 200 Accounts sollen im AD (Win Server 2008r2) automatisch angelegt werden. Die Accounts sollen gast1-gast200 heißen und das Passwort muss nicht komplex sein.
Wünschenswert wäre es, wenn ich noch angeben könnte, dass die Accounts 1-30 in die OU-A kommen und die Accounts 31-60 in OU-B....
Nach kurzem googlen fühle ich mich von Lösungen erschlagen und bitte daher um einen Tipp.
LG
zirka 200 Accounts sollen im AD (Win Server 2008r2) automatisch angelegt werden. Die Accounts sollen gast1-gast200 heißen und das Passwort muss nicht komplex sein.
Wünschenswert wäre es, wenn ich noch angeben könnte, dass die Accounts 1-30 in die OU-A kommen und die Accounts 31-60 in OU-B....
Nach kurzem googlen fühle ich mich von Lösungen erschlagen und bitte daher um einen Tipp.
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 281982
Url: https://administrator.de/forum/accounts-im-active-directory-automatisch-anlegen-programm-gesucht-281982.html
Ausgedruckt am: 22.12.2024 um 11:12 Uhr
19 Kommentare
Neuester Kommentar
Der einfachste Weg wäre ein kleines PowerShell-Script.
Hier könnte man dir z.B. CSV2AD v2 empfehlen, wenn du nicht selbst Skripten magst.
https://gallery.technet.microsoft.com/CSV2AD-v2-create-Active-97962e1e
https://gallery.technet.microsoft.com/CSV2AD-v2-create-Active-97962e1e
Hallo Warrender,
Powershell is always your friend, hier ein Schnellschuss ...
(In der Hashtable am Anfang einfach die OUs mit der Anzahl der User auflisten. Zum Schluss werden dir die erzeugten User mit deren zufällig generierten Passwörter aufgelistet)
Viel Spaß
Grüße Uwe
Powershell is always your friend, hier ein Schnellschuss ...
(In der Hashtable am Anfang einfach die OUs mit der Anzahl der User auflisten. Zum Schluss werden dir die erzeugten User mit deren zufällig generierten Passwörter aufgelistet)
Import-Module ActiveDirectory
$ou_mapping = @{
'OU=TestOU1,dc=domain,dc=de' = 30
'OU=TestOU2,dc=domain,dc=de' = 30
'OU=TestOU3,dc=domain,dc=de' = 30
}
Function generate-password($length){
$objRND = new-object System.Random
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray()
$pass = ""
0..($length-1) | %{$pass += $chars[$objRND.Next($chars.Length)]}
return $pass
}
$userlog = @()
$cnt = 0
$ou_mapping.GetEnumerator() | %{
$OU = $_.Name
1..$_.Value | %{
$username = "gast$($cnt + $_)"
$password = generate-password 10
$u = New-ADUser -Path $OU -SamAccountName $username -Name $username -PassThru
if ($u){
$u | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString $password -AsPlainText -Force)
$u | Set-Aduser -Enabled $true
$userlog += New-Object PSObject -Property @{Username=$username;OU=$OU;Password=$password}
}
}
$cnt += $_.Value
}
$userlog | ft Username,OU,Password -AutoSize
Grüße Uwe
Du kannst doch den Usern entweder ein Kennwort vorgeben, oder für jeden ein eigenes Generieren lassen.
Die User sollten eh aus Sicherheitsgründen die Kennwörter bei der ersten Anmeldung ändern.
Wenn du die User aus dem AD abgleichst, dann Authentifizieren sich die User auch mit dem Kennwort aus dem AD, so dass du kein Spezielles PW benötigst.
Oder sehe ich da gerade etwas falsch?
Die User sollten eh aus Sicherheitsgründen die Kennwörter bei der ersten Anmeldung ändern.
Wenn du die User aus dem AD abgleichst, dann Authentifizieren sich die User auch mit dem Kennwort aus dem AD, so dass du kein Spezielles PW benötigst.
Oder sehe ich da gerade etwas falsch?
Dachte ich mir doch das das jetzt kommt, ist ein Fehler der letzten Updates des Forums !
Siehe meinen Beitrag hier
Entwicklertagebuch: Zitate, Text- und Codeblöcke
Hoffentlich wird das schnell behoben sonst werden wir hier mit Fragen überhäuft ....
Geht schon Los ...
-edit- habs als PLAIN formatiert, jetzt kannst du es richtig kopieren!
Siehe meinen Beitrag hier
Entwicklertagebuch: Zitate, Text- und Codeblöcke
Hoffentlich wird das schnell behoben sonst werden wir hier mit Fragen überhäuft ....
Geht schon Los ...
-edit- habs als PLAIN formatiert, jetzt kannst du es richtig kopieren!
Ja sicher !! Hier, du weißt aber schon das was ein Distinguished Name ist oder ?
Wenn die OUs direkt in der Root-Ebene liegen sieht das so aus:
Wenn die OUs direkt in der Root-Ebene liegen sieht das so aus:
$ou_mapping = @{
'OU=TestOU1,dc=test,dc=intra' = 30
'OU=TestOU2,dc=test,dc=intra' = 30
'OU=TestOU3,dc=test,dc=intra' = 30
}
Edit: Die Änderung der Passwortrichtlinien hat leider nicht geholfen.
Nochmal kopieren und richtig anpassen dann lüppt das auch.Zitat von @Warrender:
Noch zwei Fragen: Wie kann ich die z.b. Organisationseinheit OU=Test\firma\abteilung angeben?
Wie meinen ? Die User werden doch schon in der entsprechenden OU wie oben angeben erstellt, der DN ist nur eine andere Schreibweise zu deiner, nur rückwärts:Noch zwei Fragen: Wie kann ich die z.b. Organisationseinheit OU=Test\firma\abteilung angeben?
'OU=Abteilung,OU=Firma,OU=Test,dc=test,dc=intra'
Wenn ich das Skript ein zweites Mal laufen lasse, werden die Passwörter der bestehenden User überschrieben?
Das Skript ist nur für einmalige Ausführung vorgesehen, für einen erneuten Durchlauf müsste man es dahingehend modifizieren.Für mehr Anpassung kannst du mich gerne via PM kontaktieren, das ist dann aber nicht mehr kostenlos...
Zitat von @Warrender:
Was mir nicht klar ist, wie ich die User in die OU "Abteilung" bekomme, wenn "Abteilung" in der OU "Firma" liegt und OU "Firma" in der OU "Test"....
Siehe meinen letzten Kommentar, ist einfach nur rückwärts zu definieren.Was mir nicht klar ist, wie ich die User in die OU "Abteilung" bekomme, wenn "Abteilung" in der OU "Firma" liegt und OU "Firma" in der OU "Test"....
LDAP Pfadnamen - Distinguished Names
Ich finde die ganzen hier vorgestellten Lösungen zu umständlich.
Ich habe seit Jahren sehr gute Erfahrungen mit dem Programm AD-Scripter von Innovasoft. Es wird zwar seit Jahren nicht mehr weiterentwickelt und unterstützt offiziell nur Server 2003, aber ich lege damit auch auf einem Server 2008 R2 regelmäßig neue Benutzeraccounts an.
Man trägt alle notwendigen Daten (Name, Vorname, Mailadresse, Gruppenzugehörigkeit, OU, ...) in eine Excel-Tabelle ein, importiert diese in das Programm, macht ein paar weitere Angaben (Stamm-OU, Domäne usw.) und das Programm generiert ein VBS-Script, dass man auf dem DC laufen lassen kann, um die Benutzer einzutragen.
Ich habe seit Jahren sehr gute Erfahrungen mit dem Programm AD-Scripter von Innovasoft. Es wird zwar seit Jahren nicht mehr weiterentwickelt und unterstützt offiziell nur Server 2003, aber ich lege damit auch auf einem Server 2008 R2 regelmäßig neue Benutzeraccounts an.
Man trägt alle notwendigen Daten (Name, Vorname, Mailadresse, Gruppenzugehörigkeit, OU, ...) in eine Excel-Tabelle ein, importiert diese in das Programm, macht ein paar weitere Angaben (Stamm-OU, Domäne usw.) und das Programm generiert ein VBS-Script, dass man auf dem DC laufen lassen kann, um die Benutzer einzutragen.
Zitat von @SarekHL:
Es wird zwar seit Jahren nicht mehr weiterentwickelt und unterstützt offiziell nur Server 2003,
Es wird zwar seit Jahren nicht mehr weiterentwickelt und unterstützt offiziell nur Server 2003,
Kleine Korrektur: Es gibt inzwischen offenbar doch eine neuere Version. Zu der kann ich aber noch nichts sagen.