2009-06-16 21 views
1

У меня есть проблемы с Get-WmiObject и использование этого объекта.Powershell - вызов удаленных объектов WMI - ошибка RPC HRESULT: 0x800706BA (сервер RPC недоступен)

В случае, я подключаюсь к удаленному компьютеру - который находится не в AD, а в Интернете.

Я использую учетные данные и я могу получить список классов WMI или объекта (чтобы быть конкретным, я хочу работать с Win32_Process) с помощью команд:

$credential = Get-Credential 
$class = Get-WmiObject -list -computer "xyz" -credential $credential | Where-Object {$_.Name -eq "Win32_Process" } 
$object = Get-WmiObject -class Win32_Process -computer "xyz" -credential $credential 

Когда я изменить имя хоста или учетные данные, то я получил и ошибку «RPC недоступен» или неавторизованный доступ. Поэтому я предполагаю, что работает RPC-сервер и извлечение классов объектов WMI &.

Но когда я их получаю, я не могу работать с ними. В любом случае попытки его (вызов метода или Get-Member) он бросал эту ошибку:

"Server RPC není k dispozici. (Výjimka na základě hodnoty HRESULT: 0x800706BA)" 
(It's a czech localization of: Server RPC is not available. (Exception based on the value of HRESULT: 0x800706BA) 

Я не нашел какой-либо другой пример подобной ошибки. Я использую PowerShell 1.0 для Vista Ent. машина. Целевой компьютер - Win2003 R2 (сервер продукта - Win. Serv. 2008 - еще не проверен).

Буду признателен за любые советы. Спасибо.

+0

Чтобы уточнить, вы можете успешно получить переменные $ class и $ object и записать их на вывод, но выполнение вызова метода на них дает вам эту ошибку? Можете ли вы более конкретно указать, какой метод (ы) вы пытаетесь позвонить? –

ответ

1

I got and error of "RPC not available", or unauthorized access. Therefore I assume, that RPC server and retrieving of WMI objects & classes works.

К сожалению, это не безопасное предположение. Если вы попытаетесь подключиться через WMI к пространству имен на несуществующей машине, например. Foo ("\ Foo \ корень \ cimv2"), вы получите именно эту ошибку:

0x800706BA ("The RPC server is unavailable.") 

Дополнительно:

I'm connecting to remote computer - which is not in AD, but in the internet.

Обратите внимание, что WMI через Интернет собирается быть трудно получить за работой. Даже если вы можете запрограммировать целевую машину, это не значит, что вы сможете подключиться к ней через WMI. DCOM использует кучу портов, которые брандмауэр, NAT-маршрутизаторы и т. Д. Будут счастливо блокировать. Если ваши одни и те же вызовы работают на локальном хосте, но не через Интернет, у вас есть проблема.

Если вы контролируете брандмауэры, вы можете изучить ограничения портов, которые использует DCOM, а затем открыть эти порты. Если вы просто используете дикий интернет, возможно, вам захочется взглянуть на настройку VPN, что, я думаю, должно устранить проблему «Интернета»?

Смежные вопросы