Определение того, поддерживает ли удаленный компьютер протокол 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
Создайте объект WSMan .
Set objWsman = CreateObject("Wsman.Automation")
Определите, следует ли отправить запрос с проверкой подлинности или без проверки подлинности, и задайте соответствующий параметр flags в вызове WSMan.CreateSession.
set objSession = objWsman.CreateSession("Remote1", _ objWsman.SessionFlagUseNoAuthentication)
Вызов 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>
Связанные темы