Как удалить профиль, которого нет в реестре? - PullRequest
2 голосов
/ 26 мая 2020

Здравствуйте, я пытаюсь удалить старые профили пользователей с помощью PowerShell. Мне удалось успешно удалить профили, когда они были найдены в реестре, с помощью следующего сценария.

$localProfilePath = "C:\\Users\\$User"
$WMIQuery = "SELECT * FROM Win32_UserProfile WHERE localpath = '$localProfilePath'"
$profile = Get-WmiObject -Query $WMIQuery -ComputerName $Computer_Name 
Remove-WmiObject -InputObject $profile  

Когда я пытаюсь удалить профили, которых нет в реестре, я получаю следующую ошибку.

Remove-WmiObject : Cannot bind argument to parameter 'InputObject' because it is null.

Я обнаружил, что несколько старых профилей по какой-то причине не найдены в реестре. Это может быть из-за обновления. Я пробовал использовать другие методы, но при удалении профиля продолжаю получать ошибки. Я думаю, что windows блокирует удаление скрытых файлов в профиле. Кто-нибудь знает, как исправить эту проблему или знает лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...