Konstruování řetězce monikeru
Formát řetězce monikeru je podobný formátu standardní cesty objektu WMI. Další informace naleznete v tématu požadavky na cestu objektu WMI.
Moniker má následující části:
- Předpona WinMgmts: (povinné). Předpona dává hostiteli skriptů systému Windows (WSH) pokyn, aby následující kód používal objekty rozhraní API pro skriptování .
- Komponenta nastavení zabezpečení (volitelné)
- Komponenta cesty objektu WMI (volitelné)
V řetězci monikeru služby WMI nelze zadat heslo. Pokud je nutné změnit heslo (strPassword parametr) nebo typ ověřování (strAuthority parametr) při připojování k rozhraní WMI, pak zavolejte SWbemLocator.ConnectServer. Mějte na paměti, že v připojeních ke vzdáleným počítačům můžete zadat pouze heslo a autoritu. Při pokusu o nastavení ve skriptu spuštěném na místním počítači dojde k chybě. Další informace o tom, kdy jsou použity nastavení zabezpečení a součásti cesty objektu, naleznete v tématu nastavení zabezpečení rozhraní WMI.
Následující moniker určuje objekt SWbemServices, který představuje kořen oboru názvů root\default, s povolením pro přenesení identity a s povoleným oprávněním wbemPrivilegeDebug (SeDebugPrivilege) a zakázaným oprávněním wbemPrivilegeSecurity (SeSecurityPrivilege).
"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"
Poznámka
Všechny řetězcové literály jsou necitlivé na velikost písmen.
Předpona "!" u oprávnění označuje, že je oprávnění zakázáno; vynechání této předpony znamená, že je povoleno oprávnění.
Předpona "!" se používá v názvu počítače nebo oboru názvů, pokud jsou nastavení zabezpečení zadána v závorkách před názvem počítače nebo oborem názvů.
Při zadávání cesty k objektu jsou povolena následující výchozí přiřazení:
Název počítače lze z cesty k objektu vynechat, v takovém případě se předpokládá název místního počítače.
Obor názvů lze vynechat z cesty k objektu; v tom případě se předpokládá výchozí obor názvů.
Určuje se hodnotou klíče registru HKEY_LOCAL_MACHINE\Software\Microsoft\WBEM\Scripting\Výchozí obor názvů, výchozí hodnota je Root\CIMv2.
Lze také zadat třídu nebo instanci, v takovém případě vrácený objekt je objekt WMI namísto objektu služeb.
Poznámka
Pokud je zadána třída nebo instance, nesmíte při specifikování názvu počítače vynechat obor názvů.
Podrobnosti o privilegovaných konstantách používaných u řetězce monikeru rozhraní WMI naleznete v tématu privilegovaných konstanta v popisovačích "zkráceného názvu skriptování".
Platné monikerové řetězce
Následující příklady ukazují platné monikerové řetězce.
Následující moniker identifikuje výchozí jmenný prostor na místním počítači. Je vrácen objekt SWbemServices.
WinMgmts:
Následující moniker identifikuje výchozí jmenný prostor v počítači myServer. Je vrácen objekt SWbemServices.
"WinMgmts://myServer"
Následující moniker identifikuje kořenový jmenný prostor \cimv2 na počítači pojmenovaném myServer. Objekt SWbemServices je vrácen.
"WinMgmts://myServer/root/cimv2"
Následující označení identifikuje kořenový obor názvů \cimv2 na místním serveru. Je vrácen objekt SWbemServices.
"WinMgmts:root/cimv2"
Následující moniker identifikuje Win32_LogicalDisk třídu v oboru názvů root\cimv2 na serveru myServer. Je vrácen objekt SWbemObject.
"WinMgmts:{impersonationLevel=impersonate}" _
& "!//myServer/root/cimv2:Win32_LogicalDisk"
Následující moniker identifikuje Win32_LogicalDisk třídu v oboru názvů root\cimv2 na místním serveru. Je vrácen objekt SWbemObject.
"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"
Následující moniker identifikuje třídu Win32_LogicalDisk ve výchozím oboru názvů na místním serveru. Je vrácen objekt SWbemObject.
"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"
Následující moniker identifikuje instanci Win32_LogicalDisk odpovídající jednotce C: ve výchozím oboru názvů skriptování na místním serveru. Je vrácen objekt SWbemObject. Výchozí obor názvů pro skriptování je určen výchozím nastavením konfigurace oboru názvů zadaným v ovládacím prvku WMI. Další informace naleznete v tématu Nastavení zabezpečení oboru názvů pomocí ovládacího prvku WMI.
"WinMgmts::Win32_LogicalDisk='C:'"
Následující moniker identifikuje instanci Win32_LogicalDisk odpovídající jednotce C: v oboru názvů root\cimv2 na serveru myServer. Je vrácen objekt SWbemObject.
"WinMgmts:{impersonationLevel=impersonate}" & "!//myServer/root/cimv2:Win32_LogicalDisk="C:""
Následující moniker identifikuje instanci Win32_LogicalDisk odpovídající jednotce C: v oboru názvů root\cimv2 na místním serveru. Je vrácen objekt SWbemObject.
"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk="C:""
Následující moniker identifikuje instanci Win32_LogicalDisk odpovídající jednotce C: ve výchozím oboru názvů na místním serveru. Je vrácen objekt SWbemObject.
"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""
Následující moniker nastaví úroveň zosobnění a nastaví SE_DEBUG oprávnění.
"WinMgmts:{impersonationLevel=impersonate, (Debug)}"
Následující moniker nastaví úroveň zosobnění a nastaví SE_DEBUG oprávnění. Odvolá také oprávnění SE_SHUTDOWN.
"WinMgmts:{impersonate,(Debug,!Shutdown)}"
Následující moniker načte lokalizované popisy v americké angličtině pro třídu myclass z oboru názvů root\wmi.
"WinMgmts:[locale=ms_409]!root/wmi:myclass"
Následující moniker požaduje ověřování Kerberos pomocí hlavní domény\serveru.
"Winmgmts:{impersonationLevel=delegate," _
& "authority=kerberos:mydomain\server}" _
& "!//myserver/root/default:__cimomidentification=@"
Následující moniker požaduje ověřování NTLM pomocí domény mydomain.
"Winmgmts:{impersonationLevel=impersonate," & _
"authority=ntlmdomain:mydomain} " & _
"!//myserver/root/default:__cimomidentification=@
Následující příklad kódu VBScript ukazuje, jak kombinovat parametry zabezpečení a národního prostředí v monikeru.
'*****************************************************************
' 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
Poznámka
Přestože monikers poskytují více přímý přístup k objektům, za určitých okolností může opakované použití monikerů být méně efektivní než ekvivalentní kód, který se explicitně připojuje k rozhraní WMI. Pokud je výkon aplikace důležitý, zvažte použití alternativních mechanismů.
Funkci GetObject poskytovanou VBScriptem není možné použít k aktualizaci nebo nastavení dat při spouštění skriptů vložených na stránce HTML, protože Aplikace Microsoft Internet Explorer odepře použití tohoto volání z bezpečnostních důvodů.