Erstellen einer Monikerzeichenfolge

Das Monikerzeichenfolgenformat ähnelt dem eines WMI-Standardobjektpfads. Weitere Informationen finden Sie unter Anforderungen des WMI-Objektpfads.

Ein Moniker hat die folgenden Teile:

  • Das Präfix „WinMgmts“: (obligatorisch) Das Präfix weist den Windows Script Host (WSH) an, dass der folgende Code die Skripting-API-Objekte verwendet.
  • Eine Sicherheitseinstellungskomponente (optional)
  • Eine WMI-Objektpfadkomponente (optional)

Sie können in einer WMI-Monikerzeichenfolge kein Kennwort angeben. Wenn Sie beim Herstellen einer Verbindung mit WMI das Kennwort (Parameter strPassword) oder den Authentifizierungstyp (Parameter strAuthority) ändern müssen, rufen Sie SWbemLocator.ConnectServer auf. Beachten Sie, dass Sie das Kennwort und die Autorität nur bei Verbindungen mit Remotecomputern angeben können. Der Versuch, diese in einem Skript festzulegen, das auf dem lokalen Computer ausgeführt wird, führt zu einem Fehler. Weitere Informationen dazu, wann die Sicherheitseinstellungen und Objektpfadkomponenten verwendet werden, finden Sie unter WMI-Sicherheitseinstellungen.

Der folgende Moniker gibt das SWbemServices-Objekt an, das den Namespace „root\default“ darstellt, wobei der Identitätswechsel und die „wbemPrivilegeDebug“-Berechtigung (SeDebugPrivilege) aktiviert sind und die „wbemPrivilegeSecurity“ -Berechtigung (SeSecurityPrivilege) deaktiviert ist.

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

Hinweis

Bei allen Zeichenfolgenliteralen wird die Groß- und Kleinschreibung beachtet.

Das Präfix „!“ für eine Berechtigung gibt an, dass die Berechtigung deaktiviert werden soll. Das Weglassen dieses Präfixes impliziert, dass die Berechtigung aktiviert werden soll.

Das Präfix „!“ wird für den Computernamen oder Namespace verwendet, wenn Sicherheitseinstellungen in Klammern vor dem Computernamen oder Namespace angegeben werden.

 

Die folgenden Standardzuweisungen sind zulässig, wenn sie den Objektpfad angeben:

  • Der Computername kann aus dem Objektpfad weggelassen werden. In diesem Fall wird der Name des lokalen Computers angenommen.

  • Der Namespace kann aus dem Objektpfad weggelassen werden. In diesem Fall wird der Standardnamespace angenommen.

    Dies wird durch den Wert des Registrierungsschlüssels HKEY_LOCAL_MACHINE\Software\Microsoft\WBEM\Scripting\Default Namespace bestimmt. Der Standardwert ist „Root\CIMv2“.

  • Es kann auch eine Klasse oder Instanz angegeben werden. In diesem Fall handelt es sich bei dem zurückgegebenen Objekt um ein WMI-Objekt und nicht um ein Dienstobjekt.

Hinweis

Wenn eine Klasse oder Instanz angegeben wird, können Sie den Namespace beim Angeben des Computernamens nicht weglassen.

 

Eine Referenz zu den Berechtigungskonstanten, die in der WMI-Monikerzeichenfolge verwendet werden, finden Sie unter Berechtigungskonstanten und unter den Deskriptoren „Kurzer Name für das Skripting“.

Gültige Monikerzeichenfolgen

Die folgenden Beispiele veranschaulichen gültige Monikerzeichenfolgen.

Der folgende Moniker identifiziert den Standardnamespace auf dem lokalen Computer. Ein SWbemServices-Objekt wird zurückgegeben.

WinMgmts:

Der folgende Moniker identifiziert den Standardnamespace auf dem Computer „myServer“. Ein SWbemServices-Objekt wird zurückgegeben.

"WinMgmts://myServer"

Der folgende Moniker identifiziert den Namespace „root\cimv2“ auf dem Computer „myServer“. Ein SWbemServices-Objekt wird zurückgegeben.

"WinMgmts://myServer/root/cimv2"

Der folgende Moniker identifiziert den Namespace „root\cimv2“ auf dem lokalen Server. Ein SWbemServices-Objekt wird zurückgegeben.

"WinMgmts:root/cimv2"

Der folgende Moniker identifiziert die Win32_LogicalDisk-Klasse im Namespace „root\cimv2“ auf dem Server „myServer“. Ein SWbemObject-Objekt wird zurückgegeben.

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

Der folgende Moniker identifiziert die Win32_LogicalDisk-Klasse im Namespace „root\cimv2“ auf dem lokalen Server. Ein SWbemObject-Objekt wird zurückgegeben.

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

Der folgende Moniker identifiziert die Win32_LogicalDisk-Klasse im Standardnamespace auf dem lokalen Server. Ein SWbemObject-Objekt wird zurückgegeben.

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

Der folgende Moniker identifiziert die Instanz von Win32_LogicalDisk, die Laufwerk C: im Standard-Skripting-Namespace auf dem lokalen Server entspricht. Ein SWbemObject-Objekt wird zurückgegeben. Der Standardnamespace für das Skripting wird durch die Standardnamespace-Konfigurationseinstellung bestimmt, die im WMI-Steuerelement angegeben ist. Weitere Informationen finden Sie unter Festlegen der Namespacesicherheit mit dem WMI-Steuerelement.

"WinMgmts::Win32_LogicalDisk='C:'"

Der folgende Moniker identifiziert die Instanz von Win32_LogicalDisk, die Laufwerk C: im Namespace „root\cimv2“ auf dem Server „myServer“ entspricht. Ein SWbemObject-Objekt wird zurückgegeben.

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

Der folgende Moniker identifiziert die Instanz von Win32_LogicalDisk, die Laufwerk C: im Namespace „root\cimv2“ auf dem lokalen Server entspricht. Ein SWbemObject-Objekt wird zurückgegeben.

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

Der folgende Moniker identifiziert die Instanz von Win32_LogicalDisk, die Laufwerk C: im Standardnamespace auf dem lokalen Server entspricht. Ein SWbemObject-Objekt wird zurückgegeben.

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

Der folgende Moniker legt die Identitätswechselebene auf Identitätswechsel fest und legt die SE_DEBUG-Berechtigung fest.

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

Der folgende Moniker legt die Identitätswechselebene auf Identitätswechsel fest und legt die SE_DEBUG-Berechtigung fest. Außerdem wird die SE_SHUTDOWN-Berechtigung widerrufen.

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

Der folgende Moniker ruft lokalisierte Beschreibungen für amerikanisches Englisch für die myclass-Klasse aus dem Namespace „root\wmi“ ab.

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

Der folgende Moniker fordert die Kerberos-Authentifizierung mithilfe des Prinzipals „mydomain\server“ an.

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

Der folgende Moniker fordert die NTLM-Authentifizierung mithilfe der Domäne „mydomain“ an.

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

Das folgende VBScript-Codebeispiel zeigt, wie Sicherheits- und Gebietsschemaparameter in einem Moniker kombiniert werden.

'*****************************************************************
'   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

Hinweis

Obwohl Moniker einen direkteren Zugriff auf Objekte ermöglichen, kann die wiederholte Verwendung von Monikern unter bestimmten Umständen weniger effizient sein als der entsprechende Code, der explizit eine Verbindung mit WMI herstellt. Wenn die Anwendungsleistung eine Rolle spielt, sollten Sie die alternativen Mechanismen in Erwägung ziehen.

Es ist nicht möglich, die von VBScript bereitgestellte GetObject-Funktion zum Aktualisieren oder Festlegen von Daten beim Ausführen von Skripts, die in eine HTML-Seite eingebettet sind, zu verwenden, da Microsoft Internet Explorer die Verwendung dieses Aufrufs aus Sicherheitsgründen verweigert.