Rilevamento se un computer remoto supporta il protocollo WS-Management
È possibile utilizzare i metodi Session.Identify o IWSManSession.Identify per determinare se il computer remoto dispone di un servizio che supporta il protocollo WS-Management.
Se un servizio di protocollo WS-Management è configurato nel computer remoto ed è in ascolto delle richieste, il servizio può rilevare una richiesta di identificazione tramite il codice XML seguente nell'intestazione.
xmlns:wsmid="https://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity"
Il servizio protocollo WS-Management che riceve la richiesta restituisce le informazioni contenute nell'elenco seguente nel corpo del messaggio:
- Versione del protocollo WS-Management. Ad esempio, "https://schemas.dmtf.org/wbem/wsman/1/wsman".
- Il fornitore del prodotto, ad esempio, "Microsoft Corporation".
- Versione del prodotto. Se la richiesta viene inviata con WSManFlagUseNoAuthentication nel parametro flag, non vengono restituite informazioni sulla versione del prodotto. Se la richiesta viene inviata con l'autenticazione predefinita in vigore o con un'altra modalità di autenticazione specificata, è possibile restituire le informazioni sulla versione del prodotto.
La richiesta di rilevare se il computer remoto ha un servizio di protocollo WS-Management configurato e in ascolto può essere eseguita all'inizio di uno script con altre operazioni. In questo modo si verificherà che il computer o i computer di destinazione possano rispondere a ulteriori richieste di protocollo WS-Management. La verifica può essere eseguita anche in uno script separato.
Per rilevare un servizio di protocollo WS-Management
Creare un oggettoWSMan.
Set objWsman = CreateObject("Wsman.Automation")
Determinare se la richiesta deve essere inviata autenticata o non autenticata e impostare di conseguenza il parametro flag nella chiamata a WSMan.CreateSession.
set objSession = objWsman.CreateSession("Remote1", _ objWsman.SessionFlagUseNoAuthentication)
Chiamare Session.Identify.
objSession.Identify
Esempi
Nell'esempio di codice VBScript seguente viene inviata una richiesta Di identificazione non autenticata al computer remoto denominato "Remote1" nello stesso dominio.
set objWsman = CreateObject("Wsman.Automation")
set objSession = objWsman.CreateSession("Remote1", _
objWsman.SessionFlagUseNoAuthentication)
WScript.Echo objSession.Identify
La risposta seguente mostra il codice XML restituito dal computer remoto. Versione del protocollo WS-Management ("https://schemas.dmtf.org/wbem/wsman/1/wsman.xsd") e il fornitore del sistema operativo ("Microsoft Corporation") sono specificati nel codice XML restituito. Poiché il messaggio viene inviato senza autenticazione, la versione del prodotto non viene restituita dal servizio Gestione remota 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>
Nell'esempio di codice VBScript seguente viene inviata una richiesta di identificazione autenticata al computer remoto.
set ObjWSMan = CreateObject("Wsman.Automation")
set objSession = WSMan.CreateSession("Remote1", _
objWSMan.SessionFlagUseKerberos)
WScript.Echo objSession.Identify
Poiché la richiesta è stata inviata con l'autenticazione, vengono restituite le informazioni sulla versione.
<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>
Argomenti correlati