"get-wmiobject win32_process -computername" получает ошибку "Доступ запрещен, код 0x80070005"
Я пытаюсь найти процессы на 3 терминальных серверах, которые имеют определенные слова в свойстве командной строки $_. Под моей учетной записью администратора домена все работало нормально. Но я хочу, чтобы этот сценарий был применим для пользователей домена, и пользователи doamin получают ошибку при запуске этого сценария.
Что я должен сделать, чтобы пользователи домена могли запускать этот скрипт так же, как администраторы домена? Заранее спасибо!
Ошибка:
Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESS DENIED))
At N:\FindWhoIsUsing\FindWhoIsUsing.ps1:7 char:18
get-wmiobject <<<< win32_process -computername $server -EnableAllPrivileges|
CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Код Powershell:
Write-host "Who is using this profile?"
$profile = Read-host "specify profile name"
$servers = @("server-01","server-02","server-03")
Foreach($server in $servers)
{
Write-host $server
get-wmiobject win32_process -computername $server -EnableAllPrivileges|
where{$_.name -like "*Processname*" -and
$_.CommandLine -like "*$profile*"}|
select @{n="Server";e={$server}},@{n="User";e={$_.getowner().user}},@{n="ProcessID";e= {$_.ProcessID}},{$_.CommandLine}|fl
}
Write-host "DONE Searching!"
1 ответ
Решение
Хорошо, вот шаги:
- Запустите "wmimgmt.msc"
- Щелкните правой кнопкой мыши "WMI Control (Local)" и выберите "Свойства".
- Перейдите на вкладку "Безопасность" и выберите "Безопасность", затем "Дополнительно", затем "Добавить"
- Выберите имена пользователей или группы, которым вы хотите предоставить доступ к WMI, и нажмите "ОК".
- Предоставьте необходимые разрешения, я рекомендую начать с предоставления всех разрешений, чтобы гарантировать, что доступ предоставлен, затем удалите разрешения позже, если необходимо.
- Убедитесь, что для параметра "Применить к" задано значение "Это пространство имен и подпространства имен"
- Сохраните и закройте все запросы
- Добавьте пользователя (ей) или группу (ы) в локальную группу "Распределенные пользователи COM". Примечание. Группы "Аутентифицированные пользователи" и "Все" не могут быть добавлены сюда, поэтому вы можете альтернативно использовать группу "Пользователи домена".
В моем случае я подключался с сервера домена к серверу рабочей группы, и мне нужно было установить раздел реестра:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy=1