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