UAC-Filter für Windows-Fernwartung abschalten

    UAC-Filter abschaltenDie Benutzerkontensteuerung alias User Account Control (UAC) besteht für viele Administratoren vor allem aus einem nervigen Dialog, den sie beim Zugriff auf geschützte System-Ressourcen wegklicken müssen. Tatsächlich implementiert die UAC aber das Prinzip der minimalen Benutzerrechte (least privilege), so dass User nicht mehr lokale Admin-Rechte benötigen, um gängige Tätigkeiten ausführen zu können. Allerdings erschwert die UAC den Fernzugriff, wenn dafür ein lokales Konto mit Administrorrechten benutzt wird.

    Die UAC besteht aus mehreren Komponenten, eine davon ist das Protected-Administrator-Konto. In seinem Kontext werden Anwendungen standardmäßig mit den Rechten eines normalen Benutzers ausgeführt. Wenn jedoch höhere Privilegien nötig sind, etwa um ein Setup-Programm auszuführen, verfügt die UAC über einen Auto-Elevation-Mechanismus, der die Rechte des Administrators bei Bedarf erhöht. Bei dieser Gelegenheit präsentiert Windows den häufig kritisierten Dialog, mit dem der Benutzer den Rechtezuwachs für das Programm bestätigt.

    Keine lokalen Admin-Rechte über das Netz

    Wenn man sich jedoch über das Netz mit einem lokalen Administratorkonto auf einem Windows-PC anmeldet, dann klappt der Auto-Elevation-Mechanismus nicht, die Rechte werden werden weder explizit durch Bestätigung noch stillschweigend durch das Betriebssystem erhöht.

    Das macht sich etwa bemerkbar, wenn man auf ein Laufwerk über ein administrative Freigabe wie c$ zugreifen möchte. Die dafür nötigen Rechte werden von der UAC ausgefiltert, ein Befehl wie

    net use r: \\remotePC\c$ /user:remotePC\user

    kann daher scheitern. Das Problem tritt jedoch nicht auf, wenn man über das Konto einen Domänenadministrators auf den PC zugreift.

    Abhilfe schafft der Eintrag eines Schlüssels in die Registrierdatenbank des verwalteten PCs, so dass die Rechte des lokalen Admins auch über das Netz durchgereicht werden. Dazu gibt man am einfachsten in einer Eingabeaufforderung mit Adminstratorrechten den Befehl

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

    ein oder erstellt im Registriereditor an dieser Stelle von Hand einen Schlüssel (32-Bit DWORD) namens LocalAccountTokenFilterPolicy mit dem Wert 1.

    3 Kommentare

    Bild von blueice_haller
    blueice_haller sagt:
    25. März 2013 - 2:34

    Hallo,
    der letzte Teil dieser Anleitung hat mir geholfen.
    Ziel war von Windows XP auf Windows 7 Pro x86 zuzugreifen. Umgekehrt funktioniert es (weil UAC nicht vorhanden).

    Getestet werden kann das so (IP von Win7 192.168.178.5):
    cmd > wmic /node:192.168.178.5 path win32_operatingsystem get caption
    Ergebnis: Caption
    Microsoft Windows 7 Professional

    Vorher: FEHLER:
    Code = 0x80070005
    Beschreibung = Zugriff verweigert

    Einrichtung = Win32
    Danke und Gruß

    Bild von Ingelette
    Ingelette sagt:
    6. April 2013 - 18:36

    Besten Dank für den Hinweis! Nach der Registry-Ergänzung (von Hand) bin ich nun endlich in der Lage 3 Rechner mit unterschiedlichen OS (Windows XP Prof., Windows XP Home und Windows 7 Home) gegenseitig runterzufahren.
    In der Registry heißt es bei mir allerdings HKEY_LOCAL_MACHINE (und nicht HKLM; oder war das nur eine Abkürzung, die der Fachmann kennt?).

    Gruß & Dank
    Ingelette

    Bild von Mike
    Mike sagt:
    10. Oktober 2014 - 15:26

    Vielen Dank, dieser Registry-Eintrag mit LocalAccountTokenFilterPolicy war eines von drei Dingen, die es brauchte, um mein Surface Pro 3 remote herunterfahren zu können (shutdown /s /t 0 /m [pc]).

    Das zweite war "File and Printer Sharing" durch die Firewall zu erlauben ("Allow an app through Windows Firewall"). Erst damit funktionierte auch Ping.

    Das dritte war, vor dem Shutdown-Befehl eine Authentifizierung durchzuführen (net use \\[pc]\ipc$ [password] /user:[username]), mit Username/Passwort des herunterzufahrenden PCs (in meinem Fall des Surface).