Как я могу удалить все windows профили пользователей, КРОМЕ для указанных мной? - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь удалить все профили пользователей, за исключением определенных указанных мной профилей (администратор, Publi c, по умолчанию, DOMAIN \ administrator, et c)

Я могу сделать это успешно и исключить один профиль пользователя, однако у меня возникают проблемы с правильным синтаксисом для исключения нескольких профилей пользователей. Вот код, который я нашел, чтобы успешно перечислить все профили, кроме администратора:

Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -ne 'administrator' }

, который я получил отсюда:

https://adamtheautomator.com/powershell-delete-user-profile/

Я изменил -eq на -ne, чтобы исключить профиль администратора, но я также хочу исключить несколько других.

Я думаю, мне нужно что-то вроде:

Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -ne 'administrator','Public','default','DOMAIN\administrator' }

однако, похоже, что это не работает и исключает только имя в списке (администратор).

Каков будет правильный синтаксис этой команды?

Спасибо!

1 Ответ

1 голос
/ 17 февраля 2020

Необязательно: Создайте массив со списком, который вы хотите сохранить следующим образом:

$AccountsToKeep = @('administrator','Public','default','DOMAIN\administrator')

Затем используйте это:

Get-CimInstance -ComputerName computer1,computer2 -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -notin $AccountsToKeep }

Надеюсь, это поможет.

Если вам нравится этот ответ, пожалуйста, не забудьте принять его!

...