Tags: Authentifizierung, Privileged Access Management, Registry, Troubleshooting
Seit Windows 8.1 hat der Task-Manager die Angewohnheit, nach dem Start die Eingabe des Passworts oder alternativer Anmeldedaten zu verlangen. Dies gilt auch dann, wenn man ihn gar nicht mit erhöhten Rechten ausführen will. Während es dafür unter Windows 8.1 eine passgenaue Lösung gibt, muss man in Windows 10 Abstriche machen.
Der Task-Manager ist das Tool der Wahl, wenn man das Verhalten von Prozessen oder ganzer Anwendungen untersuchen und störrische Applikationen beenden möchte. In den meisten Fällen handelt es sich dabei um Prozesse, die der Benutzer selbst gestartet hat und die er auch unter seiner Kennung beenden kann.
Auto-Elevate überschreiben
Dennoch beharrt der Task-Manager darauf, dass man das Kennwort erneut eingibt, auch wenn man ihn im Kontext des aktuellen Benutzers starten möchte. Alternativ kann man sich natürlich auch mit einem administrativen Konto anmelden, was aber zumeist nicht notwendig ist.
Der Grund für dieses nervige Verhalten liegt im so genannten Manifest des Programms. Dabei handelt es sich um Metadaten, die eine Reihe von Laufzeitparametern und Abhängigkeiten definieren. Im Fall des Task-Managers erzwingen sie ein autoElevate, das seinerseits für den UAC-Dialog verantwortlich ist.
Registry-Eintrag setzen
Diese Einstellung kann man überschreiben, und zwar entweder durch eine Umgebungsvariable oder einen Eintrag in die Registry. Letzterer hat den Vorteil, dass er sich nur auf die Programme auswirkt, die man dort angibt. Den Wert vom Typ Zeichenfolge (REG_SZ) fügt man unter
HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
hinzu. Als Name gibt man jenen des Programms inklusive Pfad an, also etwa c:\windows\system32\taskmgr.exe und als Wert trägt man RunAsInvoker ein.
Einfacher geht es, wenn man folgenden Code in einer Datei mit der Endung .reg speichert und anschließend durch Doppelklick startet:
Dabei fällt auf, dass reg.exe ein ähnliches Verhalten an den Tag legt wie der Task-Manager. Obwohl man nur in den Zweig HKEY_CURRENT_USER schreiben will, verlangt es die erneute Eingabe des Kennworts.
Umgebungsvariable als Alternative
Die Registry-Lösung funktionierte in meinen Tests klaglos unter Windows 8.1, aber nicht mehr unter Windows 10. Dort kann man aber weiterhin die Umgebungsvariable __compat_layer für diesen Zweck nutzen. Nach Eingabe von
set __compat_layer=runasinvoker
startet der Task-Manager ohne Anmeldedialog.
Allerdings klappt das natürlich nur dann, wenn man ihn aus der Eingabeaufforderung aufruft, in der man die Variable gesetzt hat. Nachdem ein solches Vorgehen nicht besonders komfortabel ist, könnte man eine Batchdatei schreiben, in der zuerst die Variable gesetzt und anschließend der Task-Manager gestartet wird.
Wenn man Programme generell ungefragt im Kontext des aktuellen Benutzers laden möchte, dann kann man die Umgebungsvariable systemweit setzen. Dies kann man in der Systemsteuerung unter System und Sicherheit => System => Erweiterte Systemeinstellungen tun.
In diesem Fall muss man praktisch alle Verwaltungswerkzeuge, darunter die MMC-basierten Tools, den Server Manager oder sogar die Systemsteuerung explizit als Administrator starten, damit sie die nötigen Rechte erhalten.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- User Account Control (UAC): Mit PIN anmelden, Einstellungen per GPO konfigurieren
- Event-ID 14,4771: Benutzer können sich nach November-Update nicht anmelden
- Authentifizierung am Active Directory mittels Zertifikat scheitert nach Mai-Update
- Sicherheitsstandards verwalten: Microsoft 365 erzwingt unerwünschte MFA-Registrierung
- root-Konto unter VMware ESXi entsperren
Weitere Links