Benutzerkontensteuerung und WMI
Die Benutzerkontensteuerung (User Account Control, UAC) wirkt sich auf die WMI-Daten aus, die von einem Befehlszeilentool zurückgegeben werden, den Remotezugriff und die Ausführung von Skripts. Weitere Informationen zur Benutzerkontensteuerung finden Sie unter Erste Schritte Mit Benutzerkontensteuerung.
In den folgenden Abschnitten wird die UAC-Funktionalität beschrieben:
- Benutzerkontensteuerung
- Konto, das zum Ausführen von WMI-Command-Line Tools erforderlich ist
- Behandeln von Remoteverbindungen unter UAC
- UAC-Auswirkung auf WMI-Daten, die an Skripts oder Anwendungen zurückgegeben werden
- Zugehörige Themen
Benutzerkontensteuerung
Unter UAC verfügen Konten in der lokalen Gruppe Administratoren über zwei Zugriffstoken, eines mit Standardbenutzerberechtigungen und eines mit Administratorrechten. Aufgrund der UAC-Zugriffstokenfilterung wird ein Skript normalerweise unter dem Standardbenutzertoken ausgeführt, es sei denn, es wird im Modus mit erhöhten Rechten als Administrator ausgeführt. Nicht alle Skripts benötigten Administratorrechte.
Skripts können nicht programmgesteuert bestimmen, ob sie unter einem Standardbenutzersicherheitstoken oder einem Administratortoken ausgeführt werden. Beim Skript tritt möglicherweise ein Fehler auf, bei dem der Zugriff verweigert wurde. Wenn das Skript Administratorrechte erfordert, muss es im Modus mit erhöhten Rechten ausgeführt werden. Der Zugriff auf WMI-Namespaces unterscheidet sich je nachdem, ob das Skript im Modus mit erhöhten Rechten ausgeführt wird. Einige WMI-Vorgänge, z. B. das Abrufen von Daten oder das Ausführen der meisten Methoden, erfordern nicht, dass das Konto als Administrator ausgeführt wird. Weitere Informationen zu Standardzugriffsberechtigungen finden Sie unter Zugriff auf WMI-Namespaces und Ausführen privilegierter Vorgänge.
Aufgrund der Benutzerkontensteuerung muss sich das Konto, unter dem das Skript ausgeführt wird, in der Gruppe Administratoren auf dem lokalen Computer sein, damit es mit erhöhten Rechten ausgeführt werden kann.
Sie können ein Skript oder eine Anwendung mit erhöhten Rechten ausführen, indem Sie eine der folgenden Methoden ausführen:
So führen Sie ein Skript im Modus mit erhöhten Rechten aus
- Öffnen Sie ein Eingabeaufforderungsfenster, indem Sie mit der rechten Maustaste auf die Eingabeaufforderung im Startmenü und dann auf Als Administrator ausführen klicken.
- Planen Sie, dass das Skript mit erhöhten Rechten ausgeführt wird, Taskplaner. Weitere Informationen finden Sie unter Sicherheitskontexte für ausgeführte Tasks.
- Führen Sie das Skript mit dem integrierten Administratorkonto aus.
Konto, das zum Ausführen von WMI-Command-Line Tools erforderlich ist
Um die folgenden WMI-Command-Line Toolsauszuführen, muss sich Ihr Konto in der Gruppe Administratoren und das Tool über eine Eingabeaufforderung mit erhöhten Rechten ausführen. Das integrierte Administratorkonto kann diese Tools auch ausführen.
-
Wenn Sie Wmic zum ersten Mal nach der Systeminstallation ausführen, muss es über eine Eingabeaufforderung mit erhöhten Rechten ausgeführt werden. Der Modus mit erhöhten Rechten ist möglicherweise nicht für nachfolgende Ausführungen von Wmic erforderlich, es sei denn, die WMI-Vorgänge erfordern Administratorrechte.
Um das WMI-Steuerelement (Wmimgmt.msc) ausführen und Änderungen an den Sicherheits- oder Überwachungseinstellungen des WMI-Namespace vornehmen zu können, muss Ihrem Konto das Recht Sicherheit bearbeiten explizit erteilt worden sein oder in der lokalen Administratorgruppe enthalten sein. Das integrierte Administratorkonto kann auch die Sicherheit oder Überwachung für einen Namespace ändern.
Wbemtest.exe, ein Befehlszeilentool, das nicht von Microsoft-Kundensupportdiensten unterstützt wird, kann von Konten ausgeführt werden, die sich nicht in der lokalen Administratorgruppe befinden, es sei denn, ein bestimmter Vorgang erfordert Berechtigungen, die normalerweise Administratorkonten gewährt werden.
Behandeln von Remoteverbindungen unter UAC
Ob Sie eine Verbindung mit einem Remotecomputer in einer Domäne oder in einer Arbeitsgruppe herstellen, bestimmt, ob UAC-Filterung erfolgt.
Wenn Ihr Computer Teil einer Domäne ist, stellen Sie mithilfe eines Domänenkontos, das sich in der lokalen Administratorgruppe des Remotecomputers befindet, eine Verbindung mit dem Zielcomputer herstellen. Die UAC-Zugriffstokenfilterung wirkt sich dann nicht auf die Domänenkonten in der lokalen Gruppe Administratoren aus. Verwenden Sie kein lokales Nichtdomänenkonto auf dem Remotecomputer, auch wenn sich das Konto in der Gruppe Administratoren befindet.
In einer Arbeitsgruppe ist das Konto, das eine Verbindung mit dem Remotecomputer herstellen, ein lokaler Benutzer auf diesem Computer. Auch wenn sich das Konto in der Gruppe Administratoren befindet, bedeutet die UAC-Filterung, dass ein Skript als Standardbenutzer ausgeführt wird. Eine bewährte Methode besteht im Erstellen einer dedizierten lokalen Benutzergruppe oder eines dedizierten Benutzerkontos auf dem Zielcomputer speziell für Remoteverbindungen.
Die Sicherheit muss angepasst werden, damit dieses Konto verwendet werden kann, da das Konto nie über Administratorrechte verfügt hat. Geben Sie dem lokalen Benutzer:
- Remotestart- und Aktivierungsrechte für den Zugriff auf DCOM. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit WMI auf einem Remotecomputer.
- Rechte für den Remotezugriff auf den WMI-Namespace (Remoteaktivieren). Weitere Informationen finden Sie unter Zugriff auf WMI-Namespaces.
- Das Recht, auf das spezifische sicherungsfähige Objekt zu zugreifen, abhängig von der sicherheit, die für das Objekt erforderlich ist.
Wenn Sie ein lokales Konto verwenden, weil Sie sich in einer Arbeitsgruppe befinden oder es sich um ein lokales Computerkonto handelt, werden Sie möglicherweise gezwungen, einem lokalen Benutzer bestimmte Aufgaben zu geben. Beispielsweise können Sie dem Benutzer das Recht gewähren, einen bestimmten Dienst über den SC.exe-Befehl, die Methoden GetSecurityDescriptor und SetSecurityDescriptor des _ Win32-Dienstsoder über Gruppenrichtlinie mithilfe von Gpedit.msc zu beenden oder zu starten. Einige sicherungsfähige Objekte erlauben einem Standardbenutzer möglicherweise nicht das Ausführen von Aufgaben und bieten keine Möglichkeit, die Standardsicherheit zu ändern. In diesem Fall müssen Sie UAC möglicherweise deaktivieren, damit das lokale Benutzerkonto nicht gefiltert wird und stattdessen ein Volladministrator wird. Beachten Sie, dass das Deaktivieren der UAC aus Sicherheitsgründen ein letztes Mittel sein sollte.
Das Deaktivieren der Remote-UAC durch Ändern des Registrierungseintrags, der die Remote-UAC steuert, wird nicht empfohlen, kann aber in einer Arbeitsgruppe erforderlich sein. Der Registrierungseintrag ist HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ \ Policies-System \ LocalAccountTokenFilterPolicy. Wenn der Wert dieses Eintrags 0 (null) ist, wird die Remote-UAC-Zugriffstokenfilterung aktiviert. Wenn der Wert 1 ist, ist die Remote-UAC deaktiviert.
UAC-Auswirkung auf WMI-Daten, die an Skripts oder Anwendungen zurückgegeben werden
Wenn ein Skript oder eine Anwendung unter einem Konto in der Gruppe Administratoren ausgeführt wird, aber nicht mit erhöhten Rechten ausgeführt wird, werden möglicherweise nicht alle Daten zurückgegeben, da dieses Konto als Standardbenutzer ausgeführt wird. Die WMI-Anbieter für einige Klassen geben nicht alle Instanzen an ein Standardbenutzerkonto oder ein Administratorkonto zurück, das aufgrund der UAC-Filterung nicht als Volladministrator ausgeführt wird.
Die folgenden Klassen geben einige -Instanzen nicht zurück, wenn das Konto nach UAC gefiltert wird:
- Win32 _ Bus
- Win32-Drucker _
- Win32 _ ComponentCategory
- Win32 _ LogicalProgramGroupItem
- Win32 _ LogicalProgramGroup
- Win32 _ NetworkConnection
- Win32 _ UserAccount
- Win32 _ PrinterDriver
- Win32 _ PortResource
- Win32 _ DeviceMemoryAddress
Die folgenden Klassen geben einige Eigenschaften nicht zurück, wenn das Konto nach UAC gefiltert wird:
- Win32 _ NetworkAdapterConfiguration
- Win32 _ DCOMApplicationSetting
- Win32 _ DCOMApplication
- Win32 _ Baseboard
- Win32 _ ComputerSystem
- Win32 _ NetworkAdapter
- _Win32-HauptplatineGeräte
- Win32 _ DiskDrive
- Win32 _ PnPEntity
- Win32 _ VideoController
- Win32 _ ParallelPort
- Win32 _ LogicalDisk
- Win32 _ SystemDriver
- Win32 _ IRQResource
- Win32 _ NetworkProtocol