Powershell 腳本完全刪除休眠帳戶的使用者設定檔、使用者資料夾和使用者註冊表項

Powershell 腳本完全刪除休眠帳戶的使用者設定檔、使用者資料夾和使用者註冊表項

我正在嘗試建立一個Powershell 腳本,從Windows 電腦中刪除使用者的設定檔、「C:\Users」中的使用者資料夾以及「HKLM:\Software\Microsoft\Windows NT\CurrentVersion\ProfileList」中的使用者註冊表項目" - 全部適用於個人資料休眠時間超過 90 天的任何用戶,無論特定管理員或服務帳戶如何。

我需要這三個的原因是因為我想確保此腳本從電腦中刪除包含本機帳戶和網域帳戶的休眠設定檔。

注意:我嘗試不使用群組原則來完成我在這裡所做的事情,而只是使用 Powershell。

這是我到目前為止不起作用的程式碼:

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
            }
        }
    }

任何想法或建議將不勝感激。謝謝!

答案1

我會將其重寫為:

delprof2 /d:60

德爾教授2該工具是一個獨立的.exe下載。

相關內容