Jun
7
2013

Passwort aller Domain-User im AD aendern

Wer kennt es nicht? Hier fängt ein neuer Mitarbeiter an und dort hört mal wieder einer auf. Dann nutzt einer als Stellvertreter evtl. mit dem Passwort des anderen Kollegen einen Account und nach einiger Zeit sind die Kennwörter nicht mehr das was sie sein sollen, nämlich geheim.
Es ist daher sicherlich nicht schlecht in regelmäßigen Abständen allen Usern im ActiveDirectory neue Passwörter zuzuweisen. Bei 10-20 Accounts ist dies sicherlich ohne Probleme per Hand möglich, aber was ist eine gute Lösung um z.B. 200 oder 400 Kennwörter automatisch ändern zu lassen?

Hier erläutere ich, wie ich die Daten aus einer Excel Datei in das Active Directory importiert habe.
Ich gehe davon aus, dass in Spalte A der Name (CN) steht und in Spalte B das neue Kennwort. Zum Generieren neuer Passwörter hilft das Tool unter http://www.gaijin.at/olspwgen.php

In Spalte C soll die Zeile für das Import-Script ausgegeben werden. Wir gehen davon aus, dass unsere Domäne example.zentrale.local ist und die User in der OU User sind.
Also schreiben wir als Formel in Spalte C der Exceltabelle folgenden:
=“dsmod user „CN=“&$A2&“,OU=User,DC=example,DC=zentrale,DC=local“ -pwd „&$B2&““
So wird hinter CN der Name aus Spalte A ausgelesen und hinter -pwd das neue Kennwort aus Spalte B ausgelesen.
Es sollte dann z.B. folgendes in Spalte C erscheinen:
dsmod user „CN=Max Mustermann,OU=User,DC=example,DC=zentrale,DC=local“ -pwd dasneuepasswort

Dies kann man ja dann einfach bis zum Ende der Exceltabelle ziehen und hat dann für jeden Nutzer o.g. Eintrag in Spalte C. Dann erstellt man sich auf dem Server unter z.B. C: eine Batch Datei pw-import.bat und kopiert die Spalte C der Exceltabelle dort rein. Dies sieht dann ca. so aus:

dsmod user „CN=Max Mustermann,OU=User,DC=example,DC=zentrale,DC=local“ -pwd dasneuepasswort
dsmod user „CN=Max Mustermann1,OU=User,DC=example,DC=zentrale,DC=local“ -pwd dasneuepasswort1
dsmod user „CN=Max Mustermann2,OU=User,DC=example,DC=zentrale,DC=local“ -pwd dasneuepasswort2
dsmod user „CN=Max Mustermann3,OU=User,DC=example,DC=zentrale,DC=local“ -pwd dasneuepasswort3
dsmod user „CN=Max Mustermann4,OU=User,DC=example,DC=zentrale,DC=local“ -pwd dasneuepasswort4

Danach rufe ich die Powershell auf (wenn noch nicht installiert dann bitte installieren) und führe mit C:/pw-import.bat die soeben erstellte Batch-Datei aus.
Nun wird für jeden Benutzer das neue Passwort gesetzt und ist sofort gültig.
Man sollte sich bewusst sein, dass dies ein Eingriff in das Herz einer Domäne ist und dies sehr sorgfältig durchgeführt werden sollte. Für die Richtigkeit bzw. Tippfehler kann ich nicht garantieren. Ich habe so zumindest ohne Probleme automatisch die Kennwörter aller Benutzer ändern können. Auf einer Windows Server 2003 Maschine, aber es funktioniert auch auf 2008 etc..

 



Über den Autor:

Kommentar schreiben