Почему Powershell выполняет запросы на удаленном компьютере, выдавая ошибки об отказе в доступе? - PullRequest
2 голосов
/ 12 августа 2011

Я получаю такие ошибки от PowerShell ISE, когда выполняю простые запросы PowerShell на своем компьютере, подключенном к удаленному компьютеру:

Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At line:8 char:43
+                     $WmiOS = Get-WmiObject <<<<  -Class Win32_OperatingSystem -ComputerName    $targetComputer -credential $credential    
+ CategoryInfo          : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

You cannot call a method on a null-valued expression.
At line:9 char:45
+                     $WmiOS.ConvertToDateTime <<<< ($WmiOS.LastBootUpTime)            
+ CategoryInfo          : InvalidOperation: (ConvertToDateTime:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Однако те же запросы будут работать на компьютере другого члена моей команды(или на любой другой машине) без проблем.

Пример сценария, который мы пытаемся выполнить:

                $WmiOS = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $targetComputer -credential $credential    
                $WmiOS.ConvertToDateTime($WmiOS.LastBootUpTime)  

Есть идеи?

Ответы [ 3 ]

1 голос
/ 13 августа 2011

Попробуйте добавить следующие флаги в команду Get-WmiObject:

-Authentication PacketPrivacy -Impersonation Impersonate
0 голосов
/ 17 марта 2012

Убедитесь, что запущенный скрипт не находится на самом сервере. Люди часто размещают свои скрипты powershell на сервере, чтобы они находились в разных местах. Если ваши сценарии локальны, вы сможете выключить компьютер.

0 голосов
/ 12 августа 2011

Проверьте брандмауэр на удаленной машине и / или учетные данные, чтобы быть в локальной группе администраторов удаленного компьютера

...