Festlegen der Authentifizierung in WMI

Bei Aufrufen außerhalb des aufrufenden Prozesses oder eines WMI-Remotediensts verwendet WMI die verteilte Version des Component Object Model (DCOM). Out-of-Process- und Remoteaufrufe werden über Proxys ausgeführt, die eine Authentifizierung der Anmeldeinformationen des aufrufenden Prozesses erfordern.

Sie legen die Authentifizierungsebene fest, wenn Sie eine Verbindung mit einem Computer und einem WMI-Namespace herstellen. Um eine Verbindung mit WMI herzustellen, rufen Sie IWbemLocator::ConnectServer in C++ auf. In Skripts oder Visual Basic stellen Sie mithilfe von SWbemLocator.ConnectServer oder über die Monikerzeichenfolge eine Verbindung mit WMI her. DCOM-Sicherheit und WMI erfordern beim Herstellen einer Verbindung zwischen Computern bestimmte Authentifizierungsebenen. Die erforderliche Ebene hängt davon ab, welches Betriebssystem Sie verbinden. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit WMI auf einem Remotecomputer.

WMI wird normalerweise auf einem freigegebenen Diensthost ausgeführt und verwendet dieselbe Authentifizierung wie andere Prozesse auf dem Host. Um den WMI-Prozess mit einer anderen Authentifizierungsebene auszuführen, führen Sie WMI mit dem Befehl winmgmt mit dem Schalter /standalonehost aus, und legen Sie die Authentifizierungsebene für WMI im Allgemeinen fest. Weitere Informationen finden Sie unter Verwalten der WMI-Sicherheit.

Weitere Informationen und Codebeispiele zum Festlegen der Authentifizierung für WMI-Verbindungen finden Sie unter Festlegen des Authentifizierungsdiensts mit VBScript und Festlegen der Authentifizierung mit C++. Diese Themen enthalten auch Tabellen, in denen die Authentifizierungskonstanten für C++ und Skripts aufgeführt sind.

Verwenden von Proxys in WMI

Um die Authentifizierung für einen Proxy festzulegen, rufen Sie die CoSetProxyBlanket-Funktion auf. Weitere Informationen und ein Codebeispiel finden Sie unter Festlegen der Sicherheit für IWbemServices und andere Proxys.

Die folgende COM-API für WMI-Objekte verwendet Proxys direkt in C++ oder C#, um Prozesse oder einen Remote-WMI-Dienst aufzurufen:

Die Skriptobjekte wie SWbemObject, SWbemServicesund SWbemRefresher verwenden Proxys nicht direkt. Stattdessen stellen die Skriptobjekte einen Wrapper oder eine Ebene dar, der bzw. die die COM-API für die oben aufgeführten WMI-Objekte aufruft. Weitere Informationen und ein Codebeispiel zum Festlegen der Authentifizierung in Skripts finden Sie unter Festlegen der Standardprozesssicherheitsstufe mit VBScript.