PowerShell-Skript: Inaktive Computer in Active Directory auflisten

Dieses PowerShell-Skript durchsucht eine spezifische Organisationseinheit (OU) in Active Directory (AD) nach Computerobjekten, die seit einer bestimmten Anzahl von Tagen inaktiv sind. Es verwendet das Attribut LastLogonDate, um festzustellen, wann ein Computer zuletzt angemeldet war. Das Skript erstellt eine Liste inaktiver Computer und speichert diese optional in einer CSV-Datei.

Variablen definieren
$OU = "OU=Computer,DC=domain,DC=local" # Pfad zur Ziel-OU
$InaktivitätTage = 90 # Anzahl der Inaktivitätstage
$ExportPfad = "C:\InaktiveComputer.csv" # Speicherort der CSV-Datei

Heutiges Datum und Grenzdatum berechnen
$Heute = Get-Date
$GrenzDatum = $Heute.AddDays(-$InaktivitätTage)

Inaktive Computer sammeln
Write-Host "Suche nach inaktiven Computern in der OU: $OU …"
$InaktiveComputer = Get-ADComputer -SearchBase $OU -Filter * -Properties LastLogonDate |
Where-Object { $_.LastLogonDate -lt $GrenzDatum -and $_.LastLogonDate -ne $null } |
Select-Object Name, @{Name="LastLogonDate"; Expression={($_.LastLogonDate).ToString("yyyy-MM-dd")}}

Ergebnisse anzeigen
if ($InaktiveComputer) {
Write-Host "Gefundene inaktive Computer:"
$InaktiveComputer | Format-Table -AutoSize
# Optional: Ergebnisse exportieren
if ($ExportPfad) {
$InaktiveComputer | Export-Csv -Path $ExportPfad -NoTypeInformation -Encoding UTF8
Write-Host "Ergebnisse wurden in $ExportPfad gespeichert."
}
} else {
Write-Host "Keine inaktiven Computer gefunden."
}

Hinterlasse jetzt einen Kommentar

Kommentar verfassen