Blog

Hier poste ich dinge zu Themen die mich beschäftigten.

Neueste 5 Einträge

  • PHP: sende Mail
  • Powershell: gruppename like finden und aktivierte user zaehlen
  • HW und SW auslesen und exportieren
  • Angeschlossene Monitore auslesen
  • bash: deepL Pro Paket MAC OS

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

Kommentar hinzufügen

Die Felder Name und Kommentar sind Pflichtfelder.

Um automatisierten Spam zu reduzieren, ist diese Funktion mit einem Captcha geschützt.

Dazu müssen Inhalte des Drittanbieters Google geladen und Cookies gespeichert werden.