Costruzione di una stringa moniker

Il formato stringa del moniker è simile a quello di un percorso oggetto WMI standard. Per altre informazioni, vedere Requisiti del percorso dell'oggetto WMI.

Un moniker ha le parti seguenti:

  • Prefisso WinMgmts: (obbligatorio). Il prefisso indica a Windows Script Host (WSH) che il codice seguente usa gli oggetti API di scripting.
  • Componente delle impostazioni di sicurezza (facoltativo)
  • Componente percorso oggetto WMI (facoltativo)

Non è possibile specificare una password in una stringa di moniker WMI. Se è necessario modificare la password (parametro strPassword ) o il tipo di autenticazione (parametro strAuthority ) durante la connessione a WMI, chiamare SWbemLocator.ConnectServer. Tenere presente che è possibile specificare solo la password e l'autorità nelle connessioni ai computer remoti. Se si tenta di impostarli in uno script in esecuzione nel computer locale, viene generato un errore. Per altre informazioni sull'uso delle impostazioni di sicurezza e dei componenti del percorso oggetto, vedere Impostazioni di sicurezza WMI.

Il moniker seguente specifica l'oggetto SWbemServices che rappresenta lo spazio dei nomi root\default, con rappresentazione su e il privilegio wbemPrivilegeDebug (SeDebugPrivilege) abilitato e il privilegio wbemPrivilegeSecurity (SeSecurityPrivilege) disabilitato.

"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"

Nota

Tutti i valori letterali stringa non fanno distinzione tra maiuscole e minuscole.

Il prefisso "!" su un privilegio indica che il privilegio deve essere disabilitato; l'omissione di questo prefisso implica che il privilegio deve essere abilitato.

Il prefisso "!" viene usato nel nome del computer o nello spazio dei nomi quando le impostazioni di sicurezza vengono specificate tra parentesi quadre prima del nome o dello spazio dei nomi del computer.

 

Quando si specifica il percorso dell'oggetto, sono consentite le assegnazioni predefinite seguenti:

  • Il nome del computer può essere omesso dal percorso dell'oggetto, nel qual caso si presuppone il nome del computer locale.

  • Lo spazio dei nomi può essere omesso dal percorso dell'oggetto, nel qual caso si presuppone lo spazio dei nomi predefinito.

    Ciò è determinato dal valore della chiave del Registro di sistema HKEY_LOCAL_MACHINE\Software\Microsoft\WBEM\Scripting\Default Namespace, il valore predefinito è "Root\CIMv2".

  • È anche possibile specificare una classe o un'istanza, nel qual caso l'oggetto restituito è un oggetto WMI anziché un oggetto services.

Nota

Se viene specificata una classe o un'istanza, non è possibile omettere lo spazio dei nomi quando si specifica il nome del computer.

 

Per un riferimento alle costanti privilegio usate nella stringa del moniker WMI, vedere Costanti privilegio e descrittori "Scripting short name".

Stringhe moniker valide

Gli esempi seguenti mostrano stringhe di moniker valide.

Il moniker seguente identifica lo spazio dei nomi predefinito nel computer locale. Viene restituito un oggetto SWbemServices .

WinMgmts:

Il moniker seguente identifica lo spazio dei nomi predefinito nel computer myServer. Viene restituito un oggetto SWbemServices .

"WinMgmts://myServer"

Il moniker seguente identifica lo spazio dei nomi root\cimv2 nel computer myServer. Viene restituito un oggetto SWbemServices .

"WinMgmts://myServer/root/cimv2"

Il moniker seguente identifica lo spazio dei nomi root\cimv2 nel server locale. Viene restituito un oggetto SWbemServices .

"WinMgmts:root/cimv2"

Il moniker seguente identifica la classe Win32_LogicalDisk nello spazio dei nomi root\cimv2 nel server myServer. Viene restituito un oggetto SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" _
    & "!//myServer/root/cimv2:Win32_LogicalDisk"

Il moniker seguente identifica la classe Win32_LogicalDisk nello spazio dei nomi root\cimv2 nel server locale. Viene restituito un oggetto SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"

Il moniker seguente identifica la classe Win32_LogicalDisk nello spazio dei nomi predefinito nel server locale. Viene restituito un oggetto SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"

Il moniker seguente identifica l'istanza di Win32_LogicalDisk corrispondente all'unità C: nello spazio dei nomi di scripting predefinito nel server locale. Viene restituito un oggetto SWbemObject . Lo spazio dei nomi predefinito per lo scripting è determinato dall'impostazione di configurazione dello spazio dei nomi predefinita, come specificato nel controllo WMI. Per altre informazioni, vedere Impostazione della sicurezza dello spazio dei nomi con il controllo WMI.

"WinMgmts::Win32_LogicalDisk='C:'"

Il moniker seguente identifica l'istanza di Win32_LogicalDisk corrispondente all'unità C: nello spazio dei nomi root\cimv2 nel server myServer. Viene restituito un oggetto SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!//myServer/root/cimv2:Win32_LogicalDisk="C:""

Il moniker seguente identifica l'istanza di Win32_LogicalDisk corrispondente all'unità C: nello spazio dei nomi root\cimv2 nel server locale. Viene restituito un oggetto SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk="C:""

Il moniker seguente identifica l'istanza di Win32_LogicalDisk corrispondente all'unità C: nello spazio dei nomi predefinito nel server locale. Viene restituito un oggetto SWbemObject .

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""

Il moniker seguente imposta il livello di rappresentazione per rappresentare e imposta il privilegio SE_DEBUG.

"WinMgmts:{impersonationLevel=impersonate, (Debug)}"

Il moniker seguente imposta il livello di rappresentazione per rappresentare e imposta il privilegio SE_DEBUG. Revoca anche il privilegio SE_SHUTDOWN.

"WinMgmts:{impersonate,(Debug,!Shutdown)}"

Il moniker seguente recupera le descrizioni localizzate in inglese americano per la classe myclass dallo spazio dei nomi root\wmi.

"WinMgmts:[locale=ms_409]!root/wmi:myclass"

Il moniker seguente richiede l'autenticazione Kerberos usando l'entità mydomain\server.

"Winmgmts:{impersonationLevel=delegate," _
    & "authority=kerberos:mydomain\server}" _
    & "!//myserver/root/default:__cimomidentification=@"

Il moniker seguente richiede l'autenticazione NTLM usando il dominio mydomain.

"Winmgmts:{impersonationLevel=impersonate," & _
    "authority=ntlmdomain:mydomain} " & _
    "!//myserver/root/default:__cimomidentification=@

Nell'esempio di codice VBScript seguente viene illustrato come combinare i parametri di sicurezza e impostazioni locali in un moniker.

'*****************************************************************
'   Name    :  Moniker.vbs
'
'   Purpose :  This example shows how to set various 
'              parameters in a moniker. 
'****************************************************************

Set myobj = GetObject("WINMGMTS:" _
            & "{impersonationLevel=impersonate," _
            & "authenticationLevel=pktPrivacy," _
            & "authority=ntlmdomain:mydomain," _
            & "(Debug,!Shutdown)}" _
            & "[locale=ms_409]" _
            & "!\\User1\ROOT\CIMV2:Win32_LogicalDisk=""C:""")

wscript.echo "File system = " & myobj.filesystem

Nota

Sebbene i moniker forniscano un accesso più diretto agli oggetti, in determinate circostanze, l'uso ripetuto dei moniker può essere meno efficiente del codice equivalente che si connette in modo esplicito a WMI. Se le prestazioni dell'applicazione sono una considerazione, prendere in considerazione l'uso dei meccanismi alternativi.

Non è possibile utilizzare la funzione GetObject fornita da VBScript per aggiornare o impostare i dati durante l'esecuzione di script incorporati in una pagina HTML, perché Microsoft Internet Explorer nega l'uso di questa chiamata per motivi di sicurezza.