Nachdem mich die Benutzerkontensteuerung im Alltag seit geraumer Zeit selbst nervt und angeregt durch einen Beitrag auf www.winfaq.de in dem es um das gleiche Thema geht, hier ein kleines Tutorial wie man sie gezielt für einzelne Programme deaktivieren kann.
Es geht darum darum für einzelne Programme die Benutzerkontensteuerung UAC zu deaktivieren, ohne sie gleich ganz abzuschalten. Ist bestimmt für einige ganz praktisch, da die ständigen “Wollen Sie zulassen daß…” Meldungen nervig sind.
Was ist die Benutzerkontensteuerung (UAC)?
Grundsätzlich ist die Benutzerkontensteuerung von Windows eine gute Sache, die zur Systemsicherheit beiträgt. Sobald eine Anwendung mit erhöhten Rechten (Administratorenrechten) gestartet wird erfolgt zunächst eine Abfrage ob man zulassen will, dass durch die Anwendung Änderungen am System vorgenommen werden.
Auf diese Weise können im Idealfall auch Schadprogramme daran gehindert werden einfach im Hintergrund zu starten und das System zu verändern.
Leider gibt es nach wie vor eine Reihe von regulären Programmen die beim Ausführen nach Administratorenrechten verlangen. Das hat zur Folge, dass jedes Mal wenn man eine solche Software ausführen will erst die Abfrage bestätigt werden muss bevor es weiter geht. Auf die Dauer ist das nervig und führt dazu, dass die Benutzerkontensteuerung in der Praxis oft deaktiviert wird.
Hier stelle ich am Beispiel von Windows 10 zwei Wege vor, wie man die Benutzerkontensteuerung gezielt für einzelne Programme deaktivieren kann ohne sie für den gesamten Rechner bzw. das gesamte Benutzerkonto abzuschalten.
Variante 1: Mit Hilfe des Aufgabenplaners
Folgendermaßen ist es möglich das gewünschte Ziel mit Hilfe des Aufgabenplaners zu erreichen:
Zunächst wird der Aufgabenplaner gestartet. Er befindet sich unter Systemsteuerung => Verwaltung
Hier erstellen wir eine neue Aufgabe mit folgenden Einstellungen:
- In der Registerkarte “Allgemein” wird der Name (z.B. Testaufgabe) des neuen Tasks angegeben (der hier eingetragene Name ist später für die Verknüpfung wichtig)
Weiter unten auf der Seite „Allgemein“ werden folgende Optionen aktiviert:
“Nur ausführen, wen der Benutzer angemeldet ist”
“Mit höchsten Privilegien ausführen”. - Die Registrierkarte “Trigger” leer lassen.
- In der Registrierkarte “Aktionen” auf “Neu” klicken und als Aktion “Programm starten” wählen. Nun den Pfad zum Programm wählen und evtl. auch das Arbeitsverzeichnis mit angeben.
- Unter der Registrierkarte “Bedingungen” muss alles deaktiviert sein.
- Unter der Registrierkarte “Einstellungen” folgendes aktivieren:
“Ausführen der Aufgabe bei Bedarf zulassen”
Unter “Folgende Regel anwenden, falls die Aufgabe bereits ausgeführt wird”
“Keine neue Instanz starten” wählen
Alle anderen Haken müssen raus genommen werden.
Damit sind die Arbeiten am Aufgabenplaner abgeschlossen und die neu erstellte Aufgabe kann mit ok gespeichert werden.
- Nachdem der Task im Aufgabenplaner angelegt wurde muss nun eine neue Verknüpfung (z.B. auf dem Desktop) mit dem Ziel: %Windir%\System32\schtasks.exe /run /TN “Taskname” erstellt werden.
In unserem Beispiel hieße das Verknüpfungsziel:
%Windir%\System32\schtasks.exe /run /TN Testaufgabe
Wird das Programm über die gerade erstellte Verknüpfung gestartet öffnet es sich wie gewünscht ohne Abfrage durch die Benutzerkontensteuerung. Startet man das Programm direkt, z.B. über den Eintrag im Startmenü erfolgt nach wie vor die Abfrage.
Variante 2: Mit Hilfe des “Microsoft Application Compatibility Toolkits”
Hierzu muss zuerst das Toolkit unter folgender Adresse heruntergeladen werden: https://www.microsoft.com/en-us/download/details.aspx?id=7352
Bei der anschließenden Installation wird evtl. noch ein NET Framework benötigt, soweit es nicht schon installiert ist.
Nach der Installation starten wir die 32 oder 64 Bit Version vom „Compatibility Administrator“ über die rechten Maustaste und „Als Administrator ausführen“ und gehen dann folgendermaßen vor:
Über das Kontextmenü oder über das Menü “Database” -> “Create New” -> “Application Fix…” starten wir den Assistenten zur Konfiguration eines neuen Applikation Fix.
Im ersten Fenster geben wir den Namen der Anwendung und den Hersteller ein. Anschließend wählt man über “Browse” Sie noch das entsprechende Programm aus und klicken dann auf „Weiter“.
- Das zweite Fenster „Compatibility Modes“ können wir in unserem Fall mit „Weiter“ überspringen. Hier könnte bei Bedarf der Kompatibelitätsmodus eingestellt werden.
- Im dritten Fenster „Compatibility Fixes“ setzen wir den Haken bei „RunAsInvoker“ und klicken wieder auf „Weiter“.
Im letzten Fenster „Matching Information“ kann man noch festlegen welche Attribute der ausgewählten EXE-Datei überprüft werden um sie zu Identifizieren. Einige dieser Werte ändern sich z.B. bei einem Update des Programms. Damit würde es nicht mehr ohne Benutzerkontensteuerungs-Meldung gestartet werden und man müsste diesen gesamten Vorgang nach dem Update wiederholen. Ich lasse hier alle Einstellungen unverändert und schließe den Vorgang mit „Fertig stellen“ ab.
Nun muss die erstellte Datenbank noch über „Save“ gespeichert werden und einen Namen erhalten, dann kann sie über „OK“ in einem Verzeichnis eigener Wahl (z.B. c:\Toolkit\) abgespeichert werden.
- Die gerade erstellte Konfiguration muss jetzt noch unter Windows aktiviert werden. Dazu öffnet man die Eingabeaufforderung mit Administratorenrechten und gibt folgende Syntax ein:
sdbinst [Verzeichnis\Dateiname]in unserm Beispiel wäre es: sdbinst c:\Toolkit\Testdatenbank.sdbAnschließend bestätigt man den Befehl mit Enter und es folgt die Meldung „Die Installation von Testdatenbank wurde abgeschlossen“.Ab jetzt kommt beim Starten der Anwendung keine Nachfrage durch due UAC mehr.
Die Lorbeeren für dieses HowTo gehen an meinen Freund und IT-Kollegen Matthias Netsch. Sämtliche Texte und Grafiken sind von ihm gemacht worden. Mit seiner freundlichen Erlaubnis darf ich den hervorragend gestalteten und mit sehr viel Mühe und Liebe zum Detail erstellten Artikel bei mir bloggen. Vielen Dank Matthias!
Zu Variante 2
Please note: Microsoft ACT version 5.6 is no longer actively supported.
Microsoft ACT 5.6 is not available for Win10, but you can download and install Microsoft ADT (Assessement and Deployment Tools), which include Compatibility Tools.
BUT: It’s not working. I’ve tried this for Regedit, but still when I run it I have to click YES on the UAC screen :(
Du schreibst “In der Registerkarte “Allgemein” wird der Name (z.B. Testaufgabe) des neuen Tasks angegeben”.
Wo denn, wie denn? Ich kann unter Allgemein keine neue Aufgabe erstellen. Einfach schlecht erklärt.
“Hier erstellen wir eine neue Aufgabe” – wo ist das Problem. Evtl. solltest DU genauer lesen, als mich anzugehen.
Vincent
Moin.
Habe es mit dem Tool versucht, jetzt kommt aber eine Fehlermeldung und das Programm startet gar nicht.
Application Error
Exception ERegistryException in module xyz.exe at 0003224B.
Failed to set data for “.
Hmmmmm was mag das heißen? Da es sich hier um ein 32bit Programm handelt, habe ich auch die 32bit version des tools verwendet. Da ich beim versuch mit der 64bit Version eine Fehlermeldung bekommen habe, dass das so nicht geht.
Der Workaround über die Aufgabenplanung funktioniert im Prinzip.
Der direkte Programmstart funktioniert ohne UAC Überprüfung. Weiterhin funktioniert aber der Programmstart über Doppelklick einer assoziierten Datei nicht – ebenso wenig wie “Drag & Drop” einer assoziierten Arbeitsdatei in das Programmfenster. Angewendet bei einer Grafikanwendung, die aus nicht nachvollziehbaren Gründen nur noch im Admin Modus startet, ist dieser Workaround letztendlich nicht praktikabel.
%Windir%\System32\schtasks.exe /run /TN Testaufgabe “%1” funktioniert für die Dateiübergabe leider nicht. Über den Total Commander wäre so eine Übergabe für einige Bilddatei Extensionen durchaus möglich – funktioniert aber nicht.
Servus, danke für den Hint. Könnte sein, dass die Lösung ob des Alters nicht mehr ganz stimmig ist. Ich komme leider zeittechnisch nicht mehr dazu das zu überprüfen. Grüße, Vincent