Удаление профилей пользователей на удаленном компьютере в PowerShell

Есть несколько вариантов очистки старых и устаревших профилей пользователей на удаленном компьютере. Вы можете включить эту групповую политику, которая автоматически удаляет любые профили пользователей старше определенного периода дней при перезапуске системы, или использовать инструмент командной строки, такой как Delprof2. И, конечно же, вы также можете использовать PowerShell для достижения той же цели.

Чтобы вывести список всех профилей пользователей на локальном компьютере, мы можем просто использовать Get-WmiObject с классом Win32_UserProfile .

 Get-WmiObject -Class Win32_UserProfile |  Where-Object {$ _. Special -ne 'Special'} |  Select-Object LocalPath, загружено 

Добавьте переключатель -Computer, и вы получите список профили пользователей на удаленном компьютере.

 Get-WmiObject -Class Win32_UserProfile -Computer $ computer |  Where-Object {$ _. Special -ne 'Special'} |  Select-Object LocalPath, Loaded 

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

Чтобы удалить определенный профиль пользователя, просто используйте командлет Remove-WmiObject . Но проблема в том, что вы не можете передать результат ему по конвейеру для выполнения процесса удаления.

Другой способ — использовать Invoke-Command для выполнения команды прямо на удаленном компьютере. Собирая все вместе,

  $ Computer = Read-Host "Пожалуйста, введите имя компьютера:" $ user = Read-Host "Введите идентификатор пользователя:" Invoke-Command -ComputerName $ computer  -ScriptBlock {param ($ user) $ localpath = 'c:  users ' + $ user Get-WmiObject -Class Win32_UserProfile |  Where-Object {$ _. LocalPath -eq $ localpath} |  Remove-WmiObject} -ArgumentList $ user  

Преимущество использования PowerShell для этого заключается в том, что вы удаляете определенного пользователя с нескольких компьютеров. Вы также можете запустить это как часть процедуры ухода сотрудников, среди прочего.

Наконец, я подумал упомянуть, что для того, чтобы сценарии PowerShell работали на удаленных компьютерах, есть два предварительные условия, которые должны быть выполнены.

  • WinRM должен быть включен на удаленном компьютере
  • Для запуска сценария на удаленном компьютере необходимы соответствующие учетные данные. компьютер.
Оцените статью
toodcast.ru
Добавить комментарий