Suchen von deaktivierten und inaktiven Konten in AD

PowerShell ist zunehmend das Tool der Wahl für Windows-Administratoren. Das Active Directory PowerShell-Modul enthält mehr als 450 Cmdlets, mit denen Sie Informationen zu jedem Objekt in Active Directory erfassen, den Status von Domänencontrollern überprüfen, Gruppenrichtlinienobjektinformationen erfassen und vieles mehr können.

In diesem Artikel erfahren Sie, wie Sie mithilfe von PowerShell deaktivierte und inaktive Benutzer- und Computerkonten in Ihren Active Directory-Domänen finden.

Voraussetzungen

Um die hier bereitgestellten Skripte zu verwenden, müssen Sie:

  • Installieren Sie das Active Directory PowerShell-Modul auf dem Computer, auf dem Sie das Skript ausführen. Auf diesem Computer muss Windows Server 2012 oder höher ausgeführt werden.
  • Öffnen Sie das PowerShell-Fenster in einem erhöhten Modus.
  • Führen Sie das Skript mit Anmeldeinformationen aus, die über die Berechtigung zum Zugriff auf alle Active Directory-Domänen verfügen, in denen Sie Daten erfassen.

Überprüfen einer einzelnen Domäne

Wenn Sie überprüfen müssen, ob ein bestimmtes Benutzer- oder Computerkonto deaktiviert oder inaktiv ist, können Sie dies manuell mithilfe des Snap-ins Active Directory-Benutzer und -Computer (oder ADUC) tun. Wenn Sie deaktivierte und inaktive Konten in einer Domäne identifizieren müssen, ist es jedoch am besten, die Aufgabe mit PowerShell zu automatisieren.

Um beispielsweise deaktivierte Computerkonten zu erfassen, können Sie das Cmdlet Get-ADComputer verwenden, um nach Computerkonten zu suchen, für die die Eigenschaft Enabled auf $False festgelegt ist, was angibt, dass das Konto deaktiviert ist:

Get-ADComputer -Filter {(Enabled -eq $False)} -ResultPageSize 2000 -ResultSetSize $null -Server <AnyDomainController> -Properties Name, OperatingSystem

Hier sind Skripte für verwandte Aufgaben:

  • Prüfen, ob ein einzelnes Benutzerkonto deaktiviert ist
  • Liste der deaktivierten Benutzer abrufen
  • Inaktive Computerkonten suchen
  • Inaktive Benutzerkonten suchen

Domänenübergreifend prüfen

Wenn Sie Informationen aus mehreren Active Directory-Domänen erfassen möchten, benötigen Sie ein PowerShell-Skript, das jede Domäne in Ihrer Active Directory-Gesamtstruktur durchlaufen und die erfassten Daten speichern kann für jede Domäne in einer separaten CSV-Datei für das IT-Team, das für diese Domäne verantwortlich ist.

Bevor Sie das unten bereitgestellte Skript:

  • Erstellen Sie ein Verzeichnis mit dem Namen „C:\Temp “ auf dem lokalen Computer, um die CSV-Dateien zu speichern.
  • Ersetzen „enterprise.com “ in der Variablen $CurForestName mit dem Namen Ihrer Gesamtstruktur.

Beispielskript

$DomList = "C:\Temp\DomList.TXT"remove-item $DomList -ErrorAction SilentlyContinue$CurForestName="enterprise.com"$GetForest=Get-ADForest $CurForestName$Items = $R.DomainsForEach ($Domains in $Items){ Add-Content $DomList $Domain.Name}Write-Host "Starting Script..."ForEach ($DomInFile in $DomList){ $DisabledCompsCSV = "C:\Temp\DisabledAccounts_Computers_"+$DomInFile+".CSV" Remove-item $DisabledCompsCSV -ErrorAction SilentlyContinue $DisabledUsersCSV = "C:\Temp\DisabledAccounts_Users_"+$DomInFile+".CSV" Remove-item $DisabledUsersCSV -ErrorAction SilentlyContinue $InActiveUsersReport = "C:\Temp\InactiveUsers_"+$DomInFile+".CSV" Remove-item $InActiveUsersReport -ErrorAction SilentlyContinue Get-ADComputer -Server $DomInFile –Filter {(Enabled –eq $False)} –ResultPageSize 2000 –ResultSetSize $null -Properties Name, OperatingSystem | Export-CSV $DisabledCompsCSV -NoTypeInformation Search-ADAccount -Server $DomInFile –AccountDisabled –UsersOnly –ResultPageSize 2000 –ResultSetSize $null | Select-Object SamAccountName, DistinguishedName | Export-CSV $DisabledUsersCSV –NoTypeInformation Search-ADAccount -Server $DomInFile –AccountInActive –TimeSpan 90:00:00:00 –ResultPageSize 2000 –ResultSetSize $null | ?{$_.Enabled –eq $True} | Select-Object Name, SamAccountName, DistinguishedName | Export-CSV $InActiveUsersReport –NoTypeInformation}Write-Host "Script Finished collecting required information. Please check report files under C:\Temp folder"

Freigeben der Berichte

Sobald die CSV-Berichte generiert wurden, können Sie die entsprechende Datei per E-Mail an jedes IT-Team senden. Alternativ können Sie das Cmdlet Send-MailMessage in das Skript einbetten, damit das Skript diese E-Mails automatisch sendet. Wir werden dieses Cmdlet in einem kommenden Artikel dieser Serie diskutieren.

Wie Netwrix helfen kann

Obwohl die Verwendung von PowerShell viel schneller ist als die manuelle Überprüfung auf deaktivierte und inaktive Konten, erfordert das Erstellen, Verwalten und Ausführen von Skripten immer noch viel Arbeit. Wenn Sie eine vielbeschäftigte Person sind, sollten Sie nach Tools suchen, die die Arbeit automatisieren und Zeit sparen. Mit dem kostenlosen Tracker für inaktive Benutzer können Sie beispielsweise alle Ihre veralteten Benutzerkonten schnell bereinigen oder sperren. Mit einer robusten Lösung wie Netwrix Auditor für Active Directory können Sie mit nur wenigen Klicks Berichte zum Kontostatus erstellen, Audits automatisieren, Sicherheitslücken aufdecken und Incident-Untersuchungen optimieren.

Nirmal ist MCSEx3, MCITP und wurde mit dem Microsoft MVP Award in Directory Services und Windows Networking ausgezeichnet. Er ist spezialisiert auf PowerShell-Scripting, Microsoft Azure, Office 365, Verzeichnisdienste, Failovercluster, Hyper-V und System Center-Produkte.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.