# Список исключений (профили, которые НЕ нужно удалять)
$ExcludedUsers = "Public", "Administrator", "svc_", "your_service_account"
# Находим и удаляем профили старше 60 дней
$LocalProfiles = Get-WmiObject -class Win32_UserProfile | Where { (!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60)) }
foreach ($LocalProfile in $LocalProfiles) {
$ProfileName = $LocalProfile.LocalPath.Replace("C:\Users\", "")
$IsExcluded = $false
foreach ($Excluded in $ExcludedUsers) {
if ($ProfileName -like $Excluded) { $IsExcluded = $true; break }
}
if (!$IsExcluded) {
$LocalProfile | Remove-WmiObject
Write-Host "Профиль $ProfileName удален." -ForegroundColor Green
}
}