Ausführen von privilegierten Vorgängen mithilfe von VBScript

Wenn Sie die Skripterstellungs-API für WMI verwenden, können Sie bestimmte Sicherheitsberechtigungen festlegen. Sie können beispielsweise die Sicherheitsberechtigungen festlegen, um ein Herunterfahren des Betriebssystems anzufordern oder um das Sicherheitsereignisprotokoll zu untersuchen. Weitere Informationen finden Sie unter Ausführen mit speziellen Berechtigungen.

Sie müssen Berechtigungen nur dann festlegen, wenn Sie auf Ihrem Computer auf WMI zugreifen. Wenn Sie auf einen Remotehost zugreifen, werden die Berechtigungen vom COM-Remoteprozeduraufruf automatisch festgelegt. Informationen zum Bestimmen aller erforderlichen Berechtigungen finden Sie in der Dokumentation für die jeweiligen WMI-Klassen, auf die Sie zugreifen möchten, z. B.Win32_OperatingSystem. Weitere Informationen finden Sie unter WbemPrivilegeEnum.

Dieses Thema umfasst die folgenden Abschnitte:

Festlegen einer Berechtigung im Security_-Objekt

Gehen Sie folgendermaßen vor, um Sicherheitsberechtigungen in Visual Basic festzulegen.

So legen Sie Berechtigungen in Visual Basic fest

  1. Erstellen Sie ein Objekt vom Typ SWbemLocator.

  2. Fügen Sie die neue Berechtigung zum SWbemLocator.Security_-Objekt hinzu.

    Das Security_-Objekt enthält eine SWbemObjectSet-Auflistung. Die Objekte in der Auflistung sind SWbemSecurity-Objekte. Weitere Informationen finden Sie unter Zugreifen auf eine WMI-Auflistung.

  3. Melden Sie sich bei WMI an, und rufen Sie ein SWbemServices-Objekt ab.

    Das SWbemServices-Objekt erbt die Berechtigung, die im vorherigen Schritt festgelegt wurde.

Sie können eine Berechtigung auch mit der SWbemPrivilegeSet.AddAsString-Methode festlegen.

Festlegen einer Berechtigung als Teil eines Monikers

Sie können eine Berechtigung als Teil eines Monikers festlegen.

Das folgende Beispiel veranschaulicht, wie Sie eine Debugberechtigung zu einem Moniker hinzufügen.

Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")

Widerrufen und Zurücksetzen von Berechtigungen

Das folgende Beispiel veranschaulicht, wie Sie die SeDebugPrivilege-Berechtigung festlegen und die SeRemoteShutdownPrivilege-Berechtigung widerrufen.

Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")

Berechtigungskonstanten

Ausführen von privilegierten Vorgängen