У меня есть несколько машин с большим количеством профилей, и я хотел бы удалить все из них, кроме 3, которые являются администраторами.
это бы сработало, если бы я хотел удалить все
Get-WMIObject -Class Win32_USerProfile -ComputerName $computer | Remove-WmiObject
Я пытался сделать это с помощью предложения where
и -filter
, но не смог успешно.
Вот несколько примеров
Get-WMIObject -Class Win32_UserProfile -ComputerName $computer | where {($.SID -neq $UserSID)} | Remove-WMIObject
...
Get-WMIObject -Class Win32_USerProfile -ComputerName $computer -Filter "SID = TEST" | Remove-WmiObject
РЕДАКТИРОВАТЬ: Я почти получил это так:
Get-WMIObject -Class Win32_USerProfile -ComputerName $computer | Where-Object -FilterScript {$_.SID -ne "S-1-5-18" -and $_.SID -ne "S-1-5-19" -and $_.SID -ne "S-1-5-20"} |Remove-WmiObject -WhatIf
Таким образом, я могу отфильтровать вывод, но я получил исключение
+ CategoryInfo : NotSpecified: (:) [Remove-WmiObject], ArgumentException