Windows 컴퓨터에서 사용자 프로필, "C:\Users"의 사용자 폴더, "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\ProfileList의 사용자 레지스트리 키를 제거하는 Powershell 스크립트를 만들려고 합니다. " - 특정 관리자 또는 서비스 계정을 무시하고 프로필이 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
}
}
}
어떤 생각이나 제안이라도 대단히 감사하겠습니다. 감사해요!