PowerShell – Active Directory

User einer bestimmten OU auswählen und Attribut XXXXX ändern

Get-ADUser -Filter * -SearchBase „OU=… …,OU=user,DC=… …,DC=… …“ | Set-ADUser -company „… …

 

Aktuelle AD Struktur in eine CSV Datei exportieren:

Get-ADOrganizationalUnit -Properties CanonicalName -Filter * | Select-Object CanonicalName, DistinguishedName | Sort-Object CanonicalName | export-csv C:\TEMP\OUTree.csv -NoTypeInformation

 

Inaktive Computerkonten im AD finden und auflisten

Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan 90.00:00:00 |

Where {$_.Enabled -eq „True“} |

sort -property LastLogonDate -desc |

ft Name, LastLogonDate, Enabled -autosize

 

# Alle deaktivierten Computerkonten, also alle Computer (Clients und Mitgliedsserver) die aus der Domäne entfernt und in eine AG hinzugefügt oder manuell deaktiviert wurden, werden mit diesem Befehl angezeigt:

Search-ADAccount -AccountDisabled -ComputersOnly | Sort-Object | FT Name -A

 

Sollen die deaktivierten Computerkonten aus einer bestimmten Organisationseinheit (OU) angezeigt werden, so gilt es diesen Befehl zu verwenden:

Search-ADAccount -AccountDisabled -Searchbase “OU=<OU>,DC=Domäne,DC=de” -ComputersOnly | Sort-Object | FT Name -A

 

# Alle deaktivierten Computerkonten werden auf Nachfrage, nacheinander mit diesem Befehl gelöscht:

Search-ADAccount -AccountDisabled -ComputersOnly | Sort-Object| Remove-ADComputer

 

Deaktivierte Computerkonten aus einer bestimmten OU werden auf Nachfrage mit diesem Befehl entfernt:

Search-ADAccount -AccountDisabled -Searchbase “OU=<OU>,DC=Domäne,DC=de” -ComputersOnly | Sort-Object| Remove-ADComputer

 

Sollen alle deaktivierten Computerkonten auf einmal ohne Nachfrage gelöscht werden, so muss der Parameter „-Confirm:“ mit dem Wert „$False“ mit angegeben werden. Sprich:

Search-ADAccount –AccountDisabled -ComputersOnly | Remove-ADComputer -Confirm:$False

 

Ohne Nachfrage werden die deaktivierten Computerkonten aus einer OU wie folgt gelöscht:

Search-ADAccount –AccountDisabled -Searchbase “OU=<OU>,DC=Domäne,DC=de” -ComputersOnly | Remove-ADComputer -Confirm:$False

 

# Alle Computer die sich seit 180 Tagen nicht am AD angemeldet haben werden mit dem folgenden Befehl angezeigt. Damit der Parameter AccountInactive verwendet werden kann, muss sich jedoch der Domänenfunktionsmodus mindestens auf der Ebene “Windows Server 2003” befinden:

Search-ADAccount -AccountInactive –Timespan 180 –ComputersOnly | Sort-Object | FT Name -A

 

Möchte man sich alle Computer aus einer bestimmten OU anzeigen, die sich seit 180 Tagen nicht mehr am AD angemeldet haben, so sieht der Befehl folgendermaßen aus:

Search-ADAccount -AccountInactive –Timespan 180 -Searchbase “OU=<OU>,DC=Domäne,DC=de” –ComputersOnly | Sort-Object | FT Name -A

 

Gelöscht werden die Computerkonten dann wie folgt:

Search-ADAccount -AccountInactive –Timespan 180 -ComputersOnly | Remove-ADComputer -Confirm:$False

 

Aus einer bestimmten OU werden die Computerkonten so entfernt:

Search-ADAccount -AccountInactive –Timespan 180 -Searchbase “OU=<OU>,DC=Domäne,DC=de” -ComputersOnly | Remove-ADComputer -Confirm:$False

 

# Alle Computer die seit dem 01.01.2010 inaktiv sind und sich nicht mehr am AD angemeldet haben, werden wie folgt angezeigt:

Search-ADAccount -AccountInactive -DateTime “01.01.2010” –ComputersOnly | Sort-Object | FT Name -A

 

Alle Computer aus einer bestimmten OU, die sich seit dem 01.01.2010 nicht mehr am AD angemeldet haben, werden so angezeigt:

Search-ADAccount -AccountInactive -DateTime “01.01.2010” -Searchbase “OU=<OU>,DC=Domäne,DC=de” –ComputersOnly | Sort-Object | FT Name -A

 

Alle Computerkonten die sich seit dem 01.01.2010 nicht mehr am AD angemeldet haben, lassen sich dann mit diesem Befehl löschen:

Search-ADAccount -AccountInactive -DateTime “01.01.2010” –ComputersOnly | Remove-ADComputer -Confirm:$False

 

Die Computer einer bestimmten OU, die seit dem 01.01.2010 inaktiv sind, werden wie folgt gelöscht:

Search-ADAccount -AccountInactive -DateTime “01.01.2010” -Searchbase “OU=<OU>,DC=Domäne,DC=de” –ComputersOnly | Remove-ADComputer -Confirm:$False

Die Computer einer bestimmten OU auflisten:

(Get-ADComputer -Filter * -SearchBase „ou=Office 1,ou=Workstations,dc=easywe,dc=loc“ |  where {$_.enabled -eq $true}).count