Получение данных с локального компьютера

Хотя удаленное управление Windows и протокол WS-Management явно предназначены для удаленного взаимодействия, создание сеанса на локальном компьютере является самым простым случаем. Для некоторых сценариев могут потребоваться данные доступа как на локальном, так и на удаленных компьютерах.

**WinRM версии 2.0: **

Все операции считаются удаленными, и служба WinRM должна быть запущена перед выполнением любой операции. Если удаленное назначение не указано, то localhost используется по умолчанию, и все операции будут отправляться в локальную службу WinRM. Дополнительные сведения о запуске службы WinRM см. в разделе Установка и настройка удаленного управления Windows.

При использовании службы WinRM для локальных операций следует учитывать следующие факторы:

  • Локальную конфигурацию WinRM могут считывать только администраторы.
  • Пространства имен WMI должны иметь заданные разрешения удаленного включения. Дополнительные сведения см. в разделе Защита удаленного WMI-подключения.
  • Если прослушиватель WinRM не создан, служба WinRM прослушивает локальные запросы через порт 47001.

Каждый скрипт WinRM должен начинаться с установки сеанса или подключения к компьютеру путем создания объекта Session . После создания сеанса можно использовать методы объекта Session , такие как Session.Enumerate или Session.Invoke , для получения данных или выполнения методов.

Создание сеанса во многом похоже на подключение к пространству имен инструментария управления Windows (WMI). По сути, сеанс — это слой, позволяющий отправлять и получать данные через сообщения SOAP и протокол WS-Management. Дополнительные сведения см. в разделе Протокол WS-Management.

Вызов метода WSMan.CreateSession для создания объекта Session запустит сеанс , который подключается к локальной системе WinRM.

Создание сеанса WSMan и получение данных

  1. Создайте объект WSMan .

    Set objWsman = CreateObject("Wsman.Automation")
    
  2. Создайте сеанс, вызвав метод WSMan.CreateSession . Этот сеанс выполняется под вашим именем пользователя и паролем для входа и может получать данные через локальную систему WinRM.

    Set objSession = objWsman.CreateSession()
    
  3. Создайте URI ресурса, чтобы определить ресурс , которым вы хотите управлять или для которого требуется получить данные. Дополнительные сведения о форматировании URI см. в разделе URI ресурсов. Этот URI ресурса предназначен для конкретного экземпляра класса WMI Win32_Service , службы Winmgmt. Дополнительные сведения см. в статье Удаленное управление Windows и WMI.

    strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
    
  4. Вызовите методы сеанса , которые получают или перечисляют данные с помощью URI ресурса. Дополнительные сведения см. в разделе API сценариев WinRM.

    strResponse = objSession.Get(strResource)
    Wscript.Echo strResponse
    
  5. Сведения о получении данных с другого компьютера или использовании других методов проверки подлинности и управлении ими см. в статье Получение данных с удаленного компьютера.

В следующем примере кода VBScript показан полный скрипт, который получает конкретный экземпляр Win32_Service WMI с именем "Winmgmt".

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Wscript.Echo strResponse

В следующем примере кода VBScript показан полный скрипт с преобразованием данных. Дополнительные сведения см. в разделе Отображение выходных данных XML из скриптов WinRM.

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Set xmlFile = CreateObject("MSXml.DOMDocument")
Set xslFile = CreateObject("MSXml.DOMDocument")
xmlFile.LoadXml(strResponse)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)

Сведения об удаленном управлении Windows

Использование удаленного управления Windows

Справочник по удаленному управлению Windows