Behebung von UAC-Abfragen und Berechtigungen für Apps, die keine Administratorrechte mehr benötigen
Manchmal startet man ein Programm und sieht das glänzende Schildsymbol, das Administratorrechte anfordert. Ehrlich gesagt, zeigen manche Apps diese Warnung unnötigerweise an, oder die Entwickler haben sie so konfiguriert, dass sie immer nach erhöhten Rechten fragen, selbst wenn sie auch ohne diese problemlos laufen würden. Das kann nervig sein – die Benutzerkontensteuerung (UAC) erscheint immer dann, wenn man einfach nur etwas erledigen will, insbesondere wenn man mehrere zusätzliche Tools oder Automatisierungen ausführen möchte. Wenn Sie also keine Lust mehr haben, ständig auf „Ja“ zu klicken, oder wenn Sie möchten, dass manche Apps reibungslos laufen, ohne dass Administratorrechte benötigt werden, bietet Ihnen dieser Leitfaden ein paar einfache Tricks, um das Problem zu lösen. Das Ziel? Programme als normaler Benutzer ausführen, endlose UAC-Abfragen vermeiden und vielleicht sogar dafür sorgen, dass Ihre Taskleiste nicht mit Schildsymbolen überladen wird.
So beheben Sie UAC-Abfragen und Probleme mit der Rechteerweiterung in Windows
Berechtigungen für Benutzer ohne Administratorrechte konfigurieren, um das Programm auszuführen
Wenn ein Programm beim Start nach Administratorrechten fragt – beispielsweise beim Zugriff auf Systemordner oder beim Schreiben in geschützte Bereiche – liegt das häufig an eingeschränkten NTFS-Berechtigungen. Die Lösung besteht darin, dem Benutzer oder einer Gruppe wie der Benutzergruppe Änderungs- oder Schreibrechte für den entsprechenden Ordner oder die entsprechende Datei zu erteilen.
Möglicherweise müssen Sie Berechtigungen für den Anwendungsordner unter C:\Programme (x86)\SomeApp erteilen oder Registrierungsschlüssel anpassen, falls die Anwendung bestimmte Schlüssel verwendet. Verwenden Sie den Prozessmonitor (Download von Sysinternals ), um genau zu sehen, welche Dateien oder Registrierungsbereiche blockiert sind. Aktivieren Sie Filter für den Prozessnamen und achten Sie auf Meldungen wie „Zugriff verweigert“.Sobald Sie den Verursacher identifiziert haben, klicken Sie mit der rechten Maustaste auf den Ordner oder Registrierungsschlüssel, wählen Sie „Eigenschaften“ > „Sicherheit “ und fügen Sie den Benutzer oder die Gruppe hinzu, um ihnen die Berechtigung zum Ändern dieser Berechtigungen zu erteilen.
Eine Anmerkung am Rande: Es empfiehlt sich, App-Daten im Benutzerprofil (z. B.in %APPDATA% ) statt in C:\Programme zu speichern. Aber Windows macht es einem natürlich unnötig schwer – daher erscheint dieser Workaround für ältere Anwendungen manchmal notwendig.
Ermöglichen Sie Standardbenutzern die Ausführung eines Programms, das normalerweise Administratorrechte benötigt.
Dies ist der klassische Trick, um eine Anwendung ohne Benutzerkontensteuerung (UAC) auszuführen. Dabei wird die Kompatibilitätsschicht „ RunAsInvoker “ verwendet. Windows wird vorgegaukelt, die Anwendung laufe bereits mit den aktuellen Benutzerrechten, sodass die UAC-Abfrage übersprungen wird. Das funktioniert gut, wenn die Anwendung eigentlich keine Administratorrechte benötigt, aber während der Kompilierung fälschlicherweise als solche gekennzeichnet wurde.
Nehmen wir beispielsweise die Datei regedit.exe in C:\Windows. Normalerweise wird ein Schildsymbol angezeigt und nach Anmeldeinformationen gefragt. Sie können jedoch eine Batchdatei namens run-as-non-admin.bat auf dem Desktop erstellen, die Folgendes enthält:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
Ziehen Sie nun einfach regedit.exe in die Batch-Datei. Das Programm sollte dann ohne Administratorrechte starten. Im Task-Manager sehen Sie, dass es ohne erhöhte Berechtigungen ausgeführt wird.Ändern Sie jedoch keine systemweiten Einstellungen, es sei denn, Sie sind mit diesen Einschränkungen einverstanden. Diese Methode simuliert gewissermaßen Berechtigungsstufen und ist daher nicht narrensicher bei Anwendungen, die tatsächlich Administratorrechte benötigen. Für viele andere Tools ist sie jedoch hilfreich.
Möchten Sie es noch einfacher gestalten? Erstellen Sie eine Verknüpfung für Ihre App und legen Sie deren Ziel auf den entsprechenden Batch-Befehl fest, indem Sie den Pfad zur App angeben. Eine Verknüpfung für einen Test ohne Administratorrechte könnte beispielsweise Folgendes enthalten:
Set ApplicationPath="C:\Program Files\SomeApp\testapp.exe" & start "" %ApplicationPath%
Profi-Tipp: Sie können auch einen Kontextmenüeintrag hinzufügen, mit dem Sie per Rechtsklick auf eine beliebige Datei „Als Benutzer ohne Benutzerkontensteuerung ausführen“ auswählen können, indem Sie eine Registry-Änderung importieren (siehe unten).So müssen Sie diesen Schritt nicht jedes Mal durchführen.
Umgehen Sie die Benutzerkontensteuerung (UAC) mithilfe von „RunAsInvoker“ in der CMD-Umgebung.
Diese Methode beinhaltet das Setzen der Umgebungsvariablen __COMPAT_LAYER – etwas ungewöhnlich, aber es funktioniert. Sie können Befehle wie die folgenden ausführen:
set __COMPAT_LAYER=RunAsInvoker && start "" "C:\Path\To\YourApp.exe"
Folgendes ist der Trick: Um es einfach zu halten, starten Sie Ihre Anwendung so, dass Windows die Benutzerkontensteuerung (UAC) überspringt und sie mit Ihren aktuellen Berechtigungen ausführt. Dadurch erhält die Anwendung keine Administratorrechte, sondern die Abfrage wird lediglich ausgeblendet. Das ist praktisch beim Testen oder um einen reibungslosen Betrieb in einer kontrollierten Umgebung zu gewährleisten.
Bearbeiten Sie das Manifest des Programms, um es als Aufrufer auszuführen.
Entwickler legen üblicherweise ein Manifest fest, das Anwendungen mit Administratorrechten ausführt. Bei benutzerdefinierten oder älteren Anwendungen können Sie das Manifest jedoch mit Tools wie Resource Hacker bearbeiten.Öffnen Sie dazu einfach die EXE-Datei, suchen Sie den Abschnitt `<requestedPrivileges> ` und ändern Sie den Wert requireAdministratorentsprechend asInvoker. Speichern Sie die Änderungen, und Windows zeigt das UAC-Symbol nicht mehr an.
Wichtig: Beachten Sie, dass bei einer mit einem digitalen Zertifikat signierten App die Änderung der ausführbaren Datei zu Signaturwarnungen führen oder die App die Ausführung verweigern kann. Verwenden Sie in diesem Fall eine externe Manifestdatei: Erstellen Sie eine einfache Textdatei mit dem Namen „appname.exe.manifest“ und dem korrekten XML-Code und weisen Sie Windows über einen Registry-Eintrag an, externe Manifeste zu verwenden ( siehe offizielle Dokumentation ).
Erstellen Sie eine Verknüpfung, die mit dem gespeicherten Administratorpasswort ausgeführt werden kann (unsicherste Methode).
Wenn alle anderen Versuche scheitern und Sie unbedingt eine Anwendung mit Administratorrechten ohne UAC-Abfragen benötigen, können Sie mit dem Befehl `runas` und der Option `/savecred` eine Verknüpfung erstellen. Aber Achtung: Dies ist nicht sicher. Gespeicherte Passwörter können von Schadsoftware ausgelesen werden. Verwenden Sie diese Methode daher nur in kontrollierten Umgebungen.
Beispiel für ein Verknüpfungsziel:
runas /user:Administrator /savecred "C:\Path\To\YourApp.exe"
Beim ersten Ausführen werden Sie zur Eingabe des Administratorkennworts aufgefordert. Danach wird es (laut System) sicher gespeichert, und Sie werden bei zukünftigen Ausführungen nicht erneut danach gefragt. Sollten Sie unter Windows 11 eine Fehlermeldung wie „Für den angeforderten Vorgang sind Administratorrechte erforderlich“ erhalten, passen Sie den Befehl wie folgt an:
C:\Windows\System32\runas /profile /user:YourPC\Administrator /savecred "cmd /C C:\Path\To\YourApp.exe"
Bedenken Sie, dass die Speicherung von Passwörtern auf diese Weise zahlreiche Sicherheitslücken öffnet: Jeder, der Zugriff hat und das Passwort kennt, kann Administratorbefehle ausführen. Es empfiehlt sich daher, die Zwischenspeicherung von Anmeldeinformationen zu deaktivieren oder Drittanbieter-Tools wie Winhance oder ähnliche zu verwenden, um solche Situationen sicher zu handhaben.
Hey, die Benutzerkontensteuerung und Berechtigungen sind nicht immer einfach zu handhaben, und Windows macht es einem definitiv nicht leichter. Aber mit diesen Tricks laufen deine Apps zumindest flüssiger, ohne dass du ständig auf Eingabeaufforderungen klicken oder ewig mit Windows-Berechtigungen kämpfen musst.
Zusammenfassung
- Weisen Sie Benutzern NTFS-Berechtigungen zu, wenn Anwendungen nicht in die benötigten Ordner schreiben können.
- Nutzen Sie den RUNASINVOKER- Trick in Batchdateien oder Kontextmenüs.
- Bearbeiten Sie die Anwendungsmanifeste, um die Notwendigkeit von Administratorrechten zu beseitigen.
- Gehen Sie vorsichtig mit gespeicherten Administratorpasswörtern um und verwenden Sie gegebenenfalls Tools von Drittanbietern.
Zusammenfassung
Apps ohne ständige UAC-Abfragen zum Laufen zu bringen, erfordert etwas Fingerspitzengefühl – sei es durch Anpassen von Berechtigungen, Ändern von Manifestdateien oder Verwenden von Kompatibilitätsschichten. Das Gute daran: Auf manchen Systemen funktionieren diese Methoden einwandfrei, ohne das gesamte System zu gefährden. Vorsicht ist jedoch geboten – manche Apps benötigen Administratorrechte, um korrekt zu funktionieren, und Designentscheidungen wie das Deaktivieren der UAC sind keine Allheilmittel. In den meisten Fällen ersparen sie Ihnen aber einige Klicks und Frustration. Hoffentlich hilft dies jemandem, der als Standardbenutzer einige Minuten oder Stunden damit verbringen muss, Apps zum Laufen zu bringen.