Powershell-Skript entfernt vollständig das Benutzerprofil, den Benutzerordner und den Benutzerregistrierungsschlüssel für inaktive Konten

Powershell-Skript entfernt vollständig das Benutzerprofil, den Benutzerordner und den Benutzerregistrierungsschlüssel für inaktive Konten

Ich versuche, ein Powershell-Skript zu erstellen, das von einem Windows-Computer das Profil eines Benutzers, den Ordner eines Benutzers unter „C:\Benutzer“ und den Registrierungsschlüssel eines Benutzers unter „HKLM:\Software\Microsoft\Windows NT\CurrentVersion\ProfileList“ entfernt – und zwar für alle Benutzer, deren Profil länger als 90 Tage inaktiv ist, wobei bestimmte Administrator- oder Dienstkonten außer Acht gelassen werden.

Der Grund, warum ich alle drei brauche, besteht darin, dass ich sicherstellen möchte, dass dieses Skript inaktive Profile, die sowohl lokale Konten als auch Domänenkonten enthalten, von einem Computer entfernt.

Hinweis: Ich versuche, für das, was ich hier tue, keine Gruppenrichtlinie zu verwenden, sondern nur Powershell.

Hier ist der Code, den ich bisher habe und der nicht funktioniert:

Get-CimInstance -Class Win32_UserProfile | 
Where-Object {(!$_.Special) -and ($_.LastUseTime -lt (Get-Date).AddDays(-90)) -and ($_.SID -notmatch '-500$')} | 
Remove-CimInstance -WhatIf

$profiledirectory="C:\Users\"
Get-ChildItem -Path $profiledirectory | Where-Object {$_.LastAccessTime -lt (Get-Date).AddDays(-90) -and ($_.FullName -notmatch 'Administrator|Public|LocalAdmin') }
    ForEach-Object{
        Get-ChildItem 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\ProfileList' |
            ForEach-Object{
            $profilepath=$_.GetValue('ProfileImagePath')    
            if($profilepath -notmatch 'administrator|NetworkService|Localservice|systemprofile|LocalAdmin'){
                Write-Host "Removing item: $profilepath" -ForegroundColor green
                Remove-Item $_.PSPath -Whatif
                Remove-Item $profilepath -Recurse -Force -Whatif
            }else{
                Write-Host "Skipping item:$profilepath" -Fore blue -Back white
            }
        }
    }

Ich bin für alle Gedanken und Vorschläge sehr dankbar. Danke!

Antwort1

Ich würde es folgendermaßen umschreiben:

delprof2 /d:60

Derdelprof2Das Tool ist ein eigenständiger .exeDownload.

verwandte Informationen