Festlegen der Authentifizierung in WMI
Bei Aufrufen außerhalb des Aufrufprozesses oder an einen WMI-Remotedienst verwendet WMI die verteilte Version des Component Object Model (DCOM). Out-of-Process- und Remoteaufrufe erfolgen über Proxys, die die 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 bestimmte Authentifizierungsebenen, wenn eine Verbindung zwischen Computern hergestellt wird. Die erforderliche Ebene unterscheidet sich je nach Betriebssystem, mit dem Sie sich verbinden. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit WMI auf einem Remotecomputer.
WMI wird normalerweise auf einem Host für gemeinsame Dienste 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 Skripterstellung aufgeführt sind.
Verwenden von Proxys in WMI
Um die Authentifizierung für einen Proxy festzulegen, rufen Sie die Funktion CoSetProxyBlanket auf. Weitere Informationen finden Sie unter Festlegen von Sicherheitseinstellungen für IWbemServices und andere Proxys.
Die folgenden Objekte COM-API für WMI verwendet Proxys direkt in C++ oder C#, um aus dem Prozess oder an einen WMI-Remotedienst aufzurufen:
Die Skriptobjekte, z. B. SWbemObject, SWbemServices und SWbemRefresher , verwenden Proxys nicht direkt. Stattdessen stellen die Skriptobjekte einen Wrapper oder eine Ebene dar, der die oben aufgeführten Objekte COM-API für WMI aufruft. Weitere Informationen und ein Codebeispiel zum Festlegen der Authentifizierung in Skripts finden Sie unter Festlegen der Standardprozesssicherheitsstufe mit VBScript.