Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 12
  • 2.5K

Odpowiedzi (2)

  • 7

Na początek zostawiam link do artykułu opisującego cel i działanie UAC-a:

http://technet.microsoft.com/pl-pl/library/user-account-control-kontrola-dostepu-uzytkownika-w-windows-7.aspx

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:

http://blogs.technet.com/b/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspx

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ą.

  • Odpowiedział
  • @ | 24.04.2014
  • TRENER ALTKOM AKADEMII
  • 1

Bardzo dobra metoda (i praktycznie jedyna) na omijanie UACa.

  • Odpowiedział
  • @ | 10.05.2016
  • TRENER ALTKOM AKADEMII