Ich habe eine lange Liste von Benutzern, die ich jede Woche deaktivieren muss, und ich versuche herauszufinden, wie ich ein LDIF-Skript schreiben kann, um zu prüfen, ob Benutzer in AD deaktiviert sind, und um sie, wenn nicht, zu deaktivieren und in eine andere Organisationseinheit zu verschieben.
Umgebung: Windows Server 2008 R2
Danke
Antwort1
Dies kann mit PowerShell erfolgen.
Der allgemeine Ablauf sähe etwa so aus:
- Lesen Sie die Datei Zeile für Zeile mit den Benutzernamen, die Sie deaktivieren möchten, und durchlaufen Sie die Benutzernamen
- Verwenden
Get-ADUser
$username
um das AD-Objekt für die Benutzer einzeln abzurufen - Überprüfen Sie die Objekte, die Sie erhalten, ob sie deaktiviert sind. Sie können
Enabled
hierfür die Eigenschaft des ADUsers verwenden. - Wenn sie deaktiviert werden müssen, verwenden Sie die
Disable-ADAccount
UndMove-ADObject
Cmdlets, um dies zu erreichen.
Wenn Sie das wirklich möchten, können Sie das vielleicht sogar in einem einzigen Satz schreiben. So etwas wie:
Get-Content userstodisable.txt | Get-ADUser | Where Enabled -eq True | Disable-ADAccount -PassThru | Move-ADObject -TargetPath OU=Disabled,DC=corp,DC=example,DC=com
Probieren Sie ruhig ein bisschen damit herum, bis Sie es richtig hinbekommen.