Sdílet prostřednictvím


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ů.