Поделиться через


Определение того, поддерживает ли удаленный компьютер протокол WS-Management

С помощью методов Session.Identify или IWSManSession.Identify можно определить, есть ли на удаленном компьютере служба, поддерживающая протокол WS-Management.

Если служба протокола WS-Management настроена на удаленном компьютере и прослушивает запросы, служба может обнаружить запрос Identify с помощью следующего XML-кода в заголовке.

xmlns:wsmid="https://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity"

Служба протокола WS-Management, получающая запрос, возвращает сведения, содержащиеся в следующем списке, в тексте сообщения:

  • Версия протокола WS-Management. Например, https://schemas.dmtf.org/wbem/wsman/1/wsman".
  • Поставщик продукта, например Microsoft Corporation.
  • Версия продукта. Если запрос отправляется с WSManFlagUseNoAuthentication в параметре flags , то сведения о версии продукта не возвращаются. Если запрос отправляется с проверкой подлинности по умолчанию или с другим указанным режимом проверки подлинности, можно вернуть сведения о версии продукта.

Запрос на определение того, имеет ли удаленный компьютер настроенную и прослушивающую службу протокола WS-Management, можно выполнить в начале сценария с другими операциями. Это позволит убедиться, что конечный компьютер или компьютеры могут отвечать на дальнейшие запросы протокола WS-Management. Проверку также можно выполнить в отдельном скрипте.

Обнаружение службы протокола WS-Management

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

    Set objWsman = CreateObject("Wsman.Automation")
    
  2. Определите, следует ли отправить запрос с проверкой подлинности или без проверки подлинности, и задайте соответствующий параметр flags в вызове WSMan.CreateSession.

    set objSession = objWsman.CreateSession("Remote1", _
       objWsman.SessionFlagUseNoAuthentication)
    
  3. Вызов Session.Identify.

    objSession.Identify
    

Примеры

В следующем примере кода VBScript отправляется запрос на идентификацию без проверки подлинности на удаленный компьютер с именем Remote1 в том же домене.

set objWsman = CreateObject("Wsman.Automation")
set objSession = objWsman.CreateSession("Remote1", _
  objWsman.SessionFlagUseNoAuthentication)
WScript.Echo objSession.Identify

В следующем ответе показан XML-код, возвращенный удаленным компьютером. Версия протокола WS-Management ("https://schemas.dmtf.org/wbem/wsman/1/wsman.xsd") и поставщик операционной системы ("Корпорация Майкрософт") указываются в возвращаемом XML-коде. Так как сообщение отправляется без проверки подлинности, версия продукта не возвращается службой удаленного управления Windows.

<wsmid:IdentifyResponse xmlns:wsmid=
    "https://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd">
<wsmid:ProtocolVersion>https://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
    </wsmid:ProtocolVersion>
<wsmid:ProductVendor>Microsoft Corporation</wsmid:ProductVendor>
<wsmid:ProductVersion>OS: 0.0.0 SP: 0.0 Stack:1.0</wsmid:ProductVersion>
</wsmid:IdentifyResponse>

В следующем примере кода VBScript на удаленный компьютер отправляется аутентифицированный запрос На идентификацию.

set ObjWSMan = CreateObject("Wsman.Automation")
set objSession = WSMan.CreateSession("Remote1", _
  objWSMan.SessionFlagUseKerberos)
WScript.Echo objSession.Identify

Так как запрос был отправлен с проверкой подлинности, возвращаются сведения о версии.

<wsmid:IdentifyResponse xmlns:wsmid=
    "https://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd">
<wsmid:ProtocolVersion>https://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
    </wsmid:ProtocolVersion>
<wsmid:ProductVendor>Microsoft Corporation</wsmid:ProductVendor>
<wsmid:ProductVersion>OS: 6.0.5384 SP: 0.0 Stack:1.0</wsmid:ProductVersion>
</wsmid:IdentifyResponse>

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

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

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