AD WMI/CIM-Klassen

Viele beispielhafte Aktionen mit der PowerShell finden sich wieder auch im freien PowerShell Cookbook und in meinen Trainingsunterlagen.

Tipp

Man benutze Get-WmiObject für Remote/WinRM, denn Get-CimInstance kennt keinen Parameter -credential!

Hier ein paar Beispielzeilen für WMI/CIM:

# Alle Konten
Get-CimInstance Win32_Account
# bzw.
Invoke-Command -ComputerName domvbox2012r2 -Credential $cred -SkriptBlock { ... }

# Nur die Benutzerkonten erreicht man mit:
Get-CimInstance Win32_UserAccount
# Nur die Gruppen erreicht man mit:
Get-CimInstance Win32_Group

# gezielt Objekte herausfiltern:
# Name und Domäne der Benutzerkonten, deren Kennwort niemals verfällt
Get-CimInstance Win32_useraccount |
    Where-Object {$_.PasswordExpires -eq 0 } |
    Select-Object Name, Domain
# alternativ:
Get-CimInstance Win32_Useraccount -filter “PasswordExpires=’false’” |
    Select-Object Name, Domain

# ob Benutzer FBI\FoxMulder einen Bildschirmschoner
# auf dem Computer AgentPC04 aktiviert hat.
Get-CimInstance Win32_Desktop -computer AgentPC04 |
    Where-Object { $_.Name -eq “DBI\FoxMulder” } |
    select-Object screensaveractive

Erinnerung: wo diese Beispielzeilen herkommen (siehe Cookbook, Netz, …) gibt es noch tonnenweise solche und andere Lösungen!

Viele dieser Lösungen ließen sich auch mit den modernisierten PowerShell Cmdlets/Kommandos der Modultechniken ADPowerShell lösen.