W jaki sposób dodać jakiś konkretny program, żeby nie pytał się o uprawnienia od UAC?
W jaki sposób dodać jakiś konkretny program, żeby nie pytał się o uprawnienia od UAC?
Na początek zostawiam link do artykułu opisującego cel i działanie UAC-a:
UAC ma zabezpieczać system przed automatycznym przyjmowaniem uprawnień administratora, dlatego nie ma „obejścia” UAC-a, bo byłaby to straszna dziura w zabezpieczeniach systemu. UAC-a albo włączamy, albo wyłączamy i dotyczy to wszystkich programów w systemie. Ale możemy w określony sposób współpracować z UAC-iem i zezwolić na uruchamianie aplikacji z automatycznie podniesionymi uprawnieniami.
Pierwsze znane mi rozwiązanie to uruchomienie aplikacji poleceniem „runas” z uprawieniami administratora z parametrem zapamiętywania hasła np. uruchomienia cmd jako administrator@contoso.com:
Runas /user:administrator@contoso.com /savecred cmd
System zapyta wtedy o hasło tylko podczas pierwszego uruchomienia i zapamięta je w profilu użytkownika. Przy drugiej próbie uruchomienia nie pyta już o hasło, bo wykorzystuje to, które zostało zapamiętane w systemie.
Jeśli chcemy wykasować lub zmienić w ten sposób zapamiętane hasło, trzeba uruchomić komendę:
Rundll32.exe keymgr.dll, KRShowKeyMgr
Otworzy się okienko pokazujące listę zapamiętanych w profilu użytkownika haseł:
Po naciśnięciu przycisku „Edit” system pozwoli zmienić zapamiętane hasło:
Innym rozwiązaniem jest uruchomianie aplikacji z podniesionymi uprawnieniami za pomocą „Task Scheduler”.
Tworzymy nowe zadanie (”Create Task”), które uruchamia aplikację z podniesionymi uprawnieniami:
W zakładce „Action” wybieramy oprogramowanie, które chcemy uruchomić:
Zadanie uruchamiamy poleceniem:
schtask /run /TN „nazwa_zadania_taskscheduler’a”
Może to być zrobiony skrót:
Ale niestety wybierając opcję „Run whether user is logged on or not”, zabraniamy zadaniu na integrację z aktualną sesją użytkowania, aplikacja uruchomi się w innej sesji i uruchomi się w tle.
Dodatkowa informacja pod adresem:
To rozwiązanie wyłącza powiadomienia UAC, jeśli wybierzemy opcję „Run only user is logged on”, ale po warunkiem, że aplikacja jest uruchamiana przy użyciu konta tego samego użytkownika, który uruchomił interaktywną sesję i użytkownik należy do grupy administratorów (bo inaczej opcja „Run with the highest privileges” nie ma sensu). Chyba, że chcemy uruchamiać aplikację w tle bez integracji z aktualną sesją.
Bardzo dobra metoda (i praktycznie jedyna) na omijanie UACa.