SWbemSecurity.ImpersonationLevel (Eigenschaft)

Die ImpersonationLevel-Eigenschaft ist eine ganze Zahl, die die COM-Identitätswechselebene definiert, die diesem Objekt zugewiesen ist. Diese Einstellung bestimmt, ob Prozesse, die sich im Besitz der Windows Management Instrumentation (WMI) befinden, Ihre Sicherheitsanmeldeinformationen erkennen oder verwenden können, wenn Sie Aufrufe an andere Prozesse tätigen. Weitere Informationen zu Identitätswechselebenen finden Sie unter Setting Client Application Process _ _ Security.

Wenn Sie die Identitätswechselebene nicht speziell in einem Moniker oder durch Festlegen der SWBemSecurity.ImpersonationLevel-Eigenschaft für ein sicherungsfähiges Objekt festlegen, legt WMI die Standard-Identitätswechselebene auf den Wert fest, der im Standardregistrierungsschlüssel der Identitätswechselebene angegeben ist. Wenn diese Einstellung nicht ausreicht, stellt der Anbieter Ihre Anforderung nicht bereit, und der Aufruf der WMI-API kann mit dem Fehlercode wbemErrAccessDenied (2147749891/0x80041003) fehlschlagen.

Eine Erläuterung dieser Syntax finden Sie unter Dokumentkonventionen für die Skripterstellungs-API.

Dies ist eine Eigenschaft mit Lese- und Schreibzugriff.

Syntax

SWbemSecurity.ImpersonationLevel As Integer

Eigenschaftswert

Bemerkungen

Als DCOM-Identitätswechselebene kann diese Eigenschaft auf einen der folgenden Werte festgelegt werden:

Wert BESCHREIBUNG
Anonym Verbirgt die Anmeldeinformationen des Aufrufers. WMI unterstützt diese Identitätswechselebene nicht. Wenn ein Skript impersonationLevel=Anonymous angibt, aktualisiert WMI automatisch die Identitätswechselebene auf Identify. Dies ist jedoch in irgendeiner Weise eine bedeutungslose Übung, da Skripts, die die Identify-Ebene verwenden, wahrscheinlich fehlschlagen.
Identifizieren Ermöglicht Objekten das Abfragen der Anmeldeinformationen des Aufrufers. Skripts, die diese Identitätswechselebene verwenden, können wahrscheinlich fehlschlagen. Mit der Ebene Identifizieren können Sie in der Regel nur Zugriffssteuerungslisten überprüfen. Sie können keine Skripts für Remotecomputer mithilfe von Identifizieren ausführen.
Impersonate Ermöglicht Objekten die Verwendung der Anmeldeinformationen des Aufrufers. Es wird empfohlen, diese Identitätswechselebene mit WMI-Skripts zu verwenden. Wenn Sie dies tun, verwendet das WMI-Skript Ihre Benutzeranmeldeinformationen. Dadurch kann er alle Aufgaben ausführen, die Sie ausführen können.
Delegat Ermöglicht Es -Objekten, anderen Objekten die Verwendung der Anmeldeinformationen des Aufrufers zu erlauben. Die Delegierung ermöglicht es einem Skript, Ihre Anmeldeinformationen auf einem Remotecomputer zu verwenden, und ermöglicht es diesem Remotecomputer dann, Ihre Anmeldeinformationen auf einem anderen Remotecomputer zu verwenden. Obwohl Sie diese Identitätswechselebene in WMI-Skripts verwenden können, sollten Sie dies nur bei Bedarf tun, da dies ein Sicherheitsrisiko darstellen kann.
Sie können die Identitätswechselebene "Delegieren" nur verwenden, wenn alle Benutzerkonten und Computerkonten, die an der Transaktion beteiligt sind, als Vertrauenswürdig für delegierung in Active Directory markiert wurden. Dies trägt zur Minimierung der Sicherheitsrisiken bei. Obwohl ein Remotecomputer Ihre Anmeldeinformationen verwenden kann, ist dies nur dann der Fall, wenn sowohl er als auch alle anderen computer, die an der Transaktion beteiligt sind, für die Delegierung vertrauenswürdig sind.

Wie bereits erwähnt, blendet der anonyme Identitätswechsel Ihre Anmeldeinformationen aus, und Identifizieren erlaubt einem Remoteobjekt, Ihre Anmeldeinformationen abfragt, aber das Remoteobjekt kann nicht die Identität Ihres Sicherheitskontexts imitieren. (Anders ausgedrückt: Obwohl das Remoteobjekt weiß, wer Sie sind, kann es sich nicht "vorgeben", Sie zu sein.) WMI-Skripts, die über eine dieser beiden Einstellungen auf Remotecomputer zugreifen, führen im Allgemeinen zu einem Fehler. Tatsächlich können die meisten Skripts, die mit einer dieser beiden Einstellungen auf dem lokalen Computer ausgeführt werden, ebenfalls fehlschlagen.

Der Identitätswechsel ermöglicht es dem WMI-Remotedienst, Ihren Sicherheitskontext zum Ausführen des angeforderten Vorgangs zu verwenden. Eine WMI-Remoteanforderung, die die Einstellung Identitätswechsel verwendet, ist in der Regel erfolgreich, vorausgesetzt, Ihre Anmeldeinformationen verfügen über ausreichende Berechtigungen, um den beabsichtigten Vorgang durchzuführen. Anders ausgedrückt: Sie können WMI nicht verwenden, um eine Aktion (remote oder anderweitig) durchzuführen, für die Sie außerhalb von WMI nicht berechtigt sind.

Wenn Sie impersonationLevel auf Delegate festlegen, kann der WMI-Remotedienst Ihre Anmeldeinformationen an andere Objekte übergeben und wird im Allgemeinen als Sicherheitsrisiko angesehen.

Sie können die Identitätswechselebene eines SWbemServices-, SWbemObject-, SWbemObjectSet-, SWbemObjectPath-und SwbemLocator-Objekts festlegen, indem Sie die ImpersonationLevel-Eigenschaft auf den gewünschten Wert festlegen. Das folgende Beispiel zeigt, wie Sie die Identitätswechselebene für ein SWbemObject-Objekt festlegen:

objinstance.Security_.ImpersonationLevel = _
    wbemImpersonationLevelImpersonate

Sie können Identitätswechselebenen auch als Teil eines Monikers angeben. Im folgenden Beispiel werden die Authentifizierungsebene und die Identitätswechselebene und eine Instanz des Win32-Diensts _ abgerufen.

Set objinst = GetObject("WinMgmts:{impersonationLevel=impersonate,"& _
                         "authenticationLevel=pktPrivacy}"& _
                         "!root/cimv2:Win32_service='ALERTER'")

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Typbibliothek
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemSecurity
IID
IID _ ISWbemSecurity

Weitere Informationen

SWbemSecurity

Festlegen der Sicherheit _ des _ Clientanwendungsprozesses

WbemImpersonationLevelEnum