Active Directory Sicherheit Teil 5: Clean-Up von AD Objekten

Teil 5 beschäftigt sich mit dem Clean-Up von AD Objekten. Oftmals werden von den Fachabteilungen Server und Service Accounts bestellt. In den seltensten Fällen bekommt die Administration allerdings mit, wenn diese nicht mehr benötigt werden. Daher sollte man regelmäßig Computer- und User-Objekte daraufhin analysieren, wann diese das letzte Mal verwendet wurden.

In den folgenden Zeilen findet ihr daher ein paar Befehle, um solche Objekte a) zu ermitteln und b) gleich zu löschen, wenn man mutig genug ist :-).

Computer Objekte

Ermitteln von Computer Objekten mit LastPasswordReset > 90 Tage (alternativ: LastLogonDate > 90 Tage) und Export in eine CSV:

# LastPasswordReset
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {PasswordLastSet -lt $Date} -Properties PasswordLastSet | Select Name,PasswordLastSet | Sort PasswordLastSet | Export-Csv C:\Temp\ADComputer-90Days.csv
# LastLogonDate
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Select Name,LastLogonDate | Sort LastLogonDate | Export-Csv C:\Temp\ADComputer-90Days.csv

Ermitteln von Computer Objekten mit LastPasswortReset > 90 Tage (alternativ: LastLogonDate > 90 Tage) und automatisches Löschen der Computer Objekte:

# LastPasswordReset
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {PasswordLastSet -lt $Date} -Properties PasswordLastSet | Remove-ADObject -Recursive -Verbose -Confirm:$false
# LastLogonDate
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Remove-ADObject -Recursive -Verbose -Confirm:$false

Ermitteln von Computer Objekten mit LastPasswortReset > 90 Tage (alternativ: LastLogonDate > 90 Tage), gefiltert auf eine bestimmte OU und Export in eine CSV:

# LastPasswordReset
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -SearchBase "OU=ComputersOU,DC=lab,DC=local" -Filter {PasswordLastSet -lt $Date} -Properties PasswordLastSet | Select Name,PasswordLastSet | Sort PasswordLastSet | Export-Csv C:\Temp\ADComputer-90Days.csv
# LastLogonDate
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -SearchBase "OU=ComputersOU,DC=lab,DC=local" -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Select Name,LastLogonDate | Sort LastLogonDate | Export-Csv C:\Temp\ADComputer-90Days.csv

Ermitteln von Computer Objekten mit LastPasswortReset > 90 Tage (alternativ: LastLogonDate > 90 Tage), gefiltert auf eine bestimmte OU und automatisches Löschen der Computer Objekte:

# LastPasswordReset
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -SearchBase "OU=ComputersOU,DC=lab,DC=local" -Filter {PasswordLastSet -lt $Date} -Properties PasswordLastSet | Remove-ADObject -Recursive -Verbose -Confirm:$false
# LastLogonDate
$Date = (Get-Date).AddDays(-90)
Get-ADComputer -SearchBase "OU=ComputersOU,DC=lab,DC=local" -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Remove-ADObject -Recursive -Verbose -Confirm:$false
User Objekte

Ermitten von User Objekten mit LastLogonDate > 90 Tage und Export in eine CSV:

$Date = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Select sAMAccountName,LastLogondate | Sort LastLogonDate | Export-Csv C:\Temp\ADUser-90Days.csv

Ermitten von User Objekten mit LastLogonDate > 90 Tage und automatischem Löschen der User Objekte:

$Date = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Remove-ADObject -Recursive -Verbose -Confirm:$false

Ermitten von User Objekten mit LastLogonDate > 90 Tage, gefiltert auf eine bestimmte OU und Export in eine CSV:

$Date = (Get-Date).AddDays(-90)
Get-ADUser -SearchBase "OU=UsersOU,DC=lab,DC=local" -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Select sAMAccountName,LastLogondate | Sort LastLogonDate

Ermitten von User Objekten mit LastLogonDate > 90 Tage, gefiltert auf eine bestimmte OU und automatisches Löschen der User Objekte:

$Date = (Get-Date).AddDays(-90)
Get-ADUser -SearchBase "OU=UsersOU,DC=lab,DC=local" -Filter {LastLogonDate -lt $Date} -Properties LastLogonDate | Remove-ADObject -Recursive -Verbose -Confirm:$false

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.