Manchmal kann es wünschenswert sein, das Active Directory nach bestimmten Kriterien zu durchsuchen und sich eine Liste der zutreffenden User anzufertigen. Auch wir standen vor dem Problem, dass wir User, die noch ein servergespeichertes Profil hatten, aus dem Active Directory herausfiltern wollen.

Dies wurde notwendig, da wir uns aufgrund der zahlreichen Probleme mit servergespeicherten Profile und der unterschiedlichsten Profilversionen (Roaming Profiles) von dieser Art der Profilspeicherung verabschieden wollen. Bei Anwendern, die oftmals den Arbeitsplatz wechseln, macht es durchaus Sinn, weiterhin servergespeicherte Profile zu verwenden, wir wollten uns aber mit der Auswertung einen Überblick über die User verschaffen, die aktuell noch ein Profilpfad im AD eingetragen haben.

Dazu müsst Ihr eine PowerShell Konsole als Administrator aufrufen. Dies funktioniert am schnellsten so, wie wir es in unserem Beitrag „Eingabeaufforderung (CMD) und PowerShell per Tastenkombination schnell als Administrator aufrufen“ beschrieben haben.

Anschließend müsst Ihr zunächst das „ActiveDirectory“ Modul importieren, damit Ihr auch auf die Funktionen des Active Directory zugreifen könnt. Der Befehl dazu lautet:

Import-Module ActiveDirectory

Der Befehl, um die Liste der Benutzerkonten mit einem eingetragenen Profilpfad auszugeben, lautet dann wie folgt:

Get-ADUser -Filter {(ProfilePath -like „*“)} -Properties SamAccountName | select SamAccountName

Dieser Befehl setzt einen Filter auf den Profilpfad (ProfilePath) und filtert nur die Userkonten auf, deren Profilpfad einen Eintrag enthalten. Die Ausgabe in der PowerShell Konsole sieht dann wie folgt aus.

Get-ADUser -Filter ProfilePath

Sollte die Userliste in der PowerShell zu lang sein, so könnt Ihr die Ausgabe natürlich auch in einer Textdatei umleiten. Einfach an den obigen Befehl das Kommando „ > C:\Temp\User.txt“ anhängen, und schon wird die Ausgabe in die Datei umgeleitet. Der Dateiname und der Pfad kann selbstverständlich angepasst werden.

In der Vergangenheit haben wir über viele weitere, nützliche PowerShell Kommandos berichtet:

– Freien und belegten Speicherplatz der Festplatte lokal oder remote per PowerShell abfragen
– Windows Datum und Uhrzeit per PowerShell ändern
– Dateirechte mit der PowerShell anzeigen
– WindowsUpdate.log bei Windows 10 auslesen bzw. per PowerShell umformatieren
– Windows Rollen und Features mit der PowerShell installieren
– Computer Systeminformationen mit der PowerShell auslesen
– Exchange Kontingente (Quota) Einstellungen per PowerShell abfragen
– Mit WINRM den Windows Client für Remote PowerShell Kommandos vorbereiten
– Mit der PowerShell lokale User und Gruppen bearbeiten
– Windows Systemlaufzeit per PowerShell ermitteln
– Windows 10 System-Wiederherstellungspunkt mit der PowerShell erstellen
– Windows herunterfahren und neu starten mit PowerShell Befehlen
– Windows Komponentenstore reparieren mit DISM und PowerShell Befehle
– UAC (Benutzerkontensteuerung) per PowerShell oder Registry abschalten bei Windows 10
– PowerShell Befehl zum Deaktivieren der Firewall