Определение того, поддерживает ли удаленный компьютер протокол WS-Management
Вы можете использовать методы Session.Identify или IWSManSession.Identify, чтобы определить, имеет ли удаленный компьютер службу, поддерживающую протокол WS-Management.
Если служба протокола WS-Management настроена на удаленном компьютере и прослушивает запросы, служба может обнаружить запрос на идентификацию по следующему XML-файлу в заголовке.
xmlns:wsmid="https://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity"
Служба протокола WS-Management, получающая запрос, возвращает сведения, содержащиеся в следующем списке, в тексте сообщения:
- Версия протокола WS-Management. Например, "https://schemas.dmtf.org/wbem/wsman/1/wsman".
- Поставщик продукта, например "Корпорация Майкрософт".
- Версия продукта. Если запрос отправляется с WSManFlagUseNoAuthentication в параметре флагов, то сведения о версии продукта не возвращаются. Если запрос отправляется с использованием проверки подлинности по умолчанию или с указанным другим режимом проверки подлинности, можно вернуть сведения о версии продукта.
Запрос на определение того, настроена ли и прослушивает ли служба протокола WS-Management на удаленном компьютере, может выполняться в начале скрипта вместе с другими операциями. Это позволит убедиться, что целевой компьютер или компьютеры могут реагировать на дальнейшие WS-Management запросы протокола. Проверка также может выполняться в отдельном скрипте.
Для обнаружения службы протокола WS-Management
Создайте объект WSMan.
Set objWsman = CreateObject("Wsman.Automation")
Определите, следует ли отправлять запрос, прошедший проверку подлинности или не прошедший проверку подлинности, и задать флаги соответствующим образом в вызове WSMan.CreateSession.
set objSession = objWsman.CreateSession("Remote1", _ objWsman.SessionFlagUseNoAuthentication)
Вызов Сессия.Идентификация.
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>
Связанные разделы