Blog
Hier poste ich dinge zu Themen die mich beschäftigten.
Suchen
2023-04-15
Powershell - Computer suchen die seit 180 nicht mehr eingeloggt waren, deaktvieren, gruppen entfernen und verschieben
Stellen Sie sicher, dass Sie die Active Directory PowerShell-Module auf Ihrem System installiert haben und über ausreichende Berechtigungen verfügen, um die erforderlichen Änderungen vorzunehmen.
# Variablen
$DaysInactive = 180
$LogFilePath = “C:InactiveComputersLog.txt”
$TargetOU = “OU=InactiveComputers,DC=yourdomain,DC=com”
$AdminAccount = (Get-ADUser -Identity $env:USERNAME).DistinguishedName
# Datum
$CurrentDate = (Get-Date)
$InactiveDate = (Get-Date).AddDays(-$DaysInactive)
# Inaktive Computer suchen
$InactiveComputers = Get-ADComputer -Filter {LastLogonTimeStamp -lt $InactiveDate} -Properties LastLogonTimeStamp, MemberOf
# Computerkonten bearbeiten
foreach ($InactiveComputer in $InactiveComputers) {
# Computer von allen Gruppen entfernen
$MemberOf = $InactiveComputer.MemberOf
foreach ($Group in $MemberOf) {
Remove-ADGroupMember -Identity $Group -Members $InactiveComputer -Confirm:$false
}
# Computerkonto in die OU verschieben und deaktivieren
Move-ADObject -Identity $InactiveComputer -TargetPath $TargetOU
Disable-ADAccount -Identity $InactiveComputer
# Informationen in das Logfile schreiben
$LogData = @”
Computername: $($InactiveComputer.SamAccountName)
Vorherige Gruppenmitgliedschaften: $($MemberOf -join ‘, ‘)
Datum der Deaktivierung: $($CurrentDate.ToString())
Deaktiviert durch: $AdminAccount
`r`n
“@
Add-Content -Path $LogFilePath -Value $LogData
}
Ersetzen Sie “OU=InactiveComputers,DC=yourdomain,DC=com” durch den tatsächlichen Distinguished Name der Organizational Unit (OU), in die Sie die Computerkonten verschieben möchten.
Dieses Skript sucht nach Computern, die seit 6 Monaten nicht online waren, entfernt sie aus allen Gruppen, verschiebt sie in die angegebene OU und deaktiviert sie. Die Ergebnisse werden in das angegebene Logfile geschrieben, einschließlich der Gruppenmitgliedschaften, des Datums der Deaktivierung und des ausführenden Administratorkontos.
Admin - 10:45:02 @ Projekte, Powershell-Skripte | Kommentar hinzufügen