Systemy operacyjne

Autostart programu z uprawnieniami administratora

instruktor informatyk

Aby uruchomić cyklicznie program wystarczy dodać odpowiedni skrót do autostartu Windows. Niestety podczas uruchamiania aplikacji, można czasami zaobserwować komunikat kontroli konta użytkownika. Taka sytuacja występuje, gdy aplikacja do prawidłowego funkcjonowania wymaga podwyższonych uprawnień. W tym artykule przedstawię prosty sposób, aby ominąć komunikat UAC. Wykorzystam do tego celu usługę harmonogramu zadań.

Harmonogram zadań to mechanizm pozwalający na wykonanie zdefiniowanej czynności – uruchomienie programu lub skryptu, wysłanie wiadomości e-mail etc. Każde zadanie to zdefiniowana akcja – czyli czynność do wykonania oraz wyzwalacz, który ma na celu zainicjować akcję – jeśli warunek zostanie spełniony, uruchamiane jest dane zadanie. Przejdźmy teraz do sedna sprawy.

Otwieramy Harmonogram zadań, najłatwiej dokonać tego poprzez: Start => Uruchom => taskschd.msc

Utwórz zadanie

W prawej części okna znajdziemy opcję Utwórz zadanie.

Tworzenie zadania

W kolejnym oknie, na zakładce Ogólne określamy nazwę zadania (np. quietHDD), następnie zaznaczamy Uruchom z najwyższymi uprawnieniami. Dzięki temu uruchomimy program z uprawnieniami administracyjnymi, a cały proces inicjowania nie będzie wymagał akceptacji komunikatu kontroli konta użytkownika.

Dodatkowo warto ustawić tryb zgodności. Z listy Konfiguruj dla: wybieramy Windows 7, Windows Server 2008 R2. Oczywiście, jeśli wiemy iż aplikacja przeznaczona jest na starszą wersję systemu, możemy zmodyfikować to ustawienie.

Teraz musimy wskazać aplikację, która będzie uruchamiana wraz ze startem systemu. Przechodzimy na zakładkę Akcja i klikamy Nowa.

Nowa akcjaAkcja uruchom program

W oknie Nowa akcja z listy rozwijanej wybieramy Akcja: Uruchom program, klikamy Przeglądaj i wskazujemy plik wykonywalny, w tym przypadku będzie to C:\Program Files\quietHDD\quietHDD.exe

Dodajemy nową akcję, klikamy OK.

Aby aplikacja uruchomiła się, niezbędne jest zdefiniowanie warunków, które będą wyzwalać zadanie. Przechodzimy na zakładkę Wyzwalacze i klikamy Nowy.

Nowy wyzwalaczRozpocznij zadanie

Z listy wybieramy Rozpocznij zadanie: Przy logowaniu. Pozostałe opcje ustawiamy zgodnie z powyższym zrzutem ekranu. Oczywiście to przykładowe ustawienia, które sprawdzają się, gdy chcemy uruchamiać cyklicznie wybraną aplikację. Po zdefiniowaniu wszystkich opcji, aby dodać nowy wyzwalacz klikamy OK.

Ostatnią rzeczą którą należy zrobić jest skonfigurowanie dodatkowych ustawień mających wpływ na zachowanie zadania. Przechodzimy na zakładkę Ustawienia.

Ustawienia zadania

Jeśli zadanie ma być trwałe – cyklicznie uruchamiane, zestaw opcji przedstawia się następująco:

  • Zezwalaj na uruchamianie zadania na żądanie.
  • Po błędzie uruchom ponownie co X minut oraz spróbuj uruchomić nie więcej niż X razy.
  • Jeśli zadanie nie zakończy się na żądanie, wymuś zatrzymanie.
  • Jeśli zadanie jest już uruchomione, zastosuj następującą regułę: Nie uruchamiaj nowego wystąpienia.

Jeśli skonfigurujemy wszystko w powyższy sposób, mamy pewność, że zadanie będzie wykonywane cyklicznie. Pozostałe opcje odznaczamy. Teraz pozostaje tylko zatwierdzić dodanie nowego zadania, klikamy OK.

W oknie głównym, na liście harmonogramu pojawi się nazwa zadania, które przed chwilą dodaliśmy.

Lista zadań

Dzięki tej prostej metodzie możemy uruchomić dowolny program z najwyższymi uprawnieniami. Trzeba to podkreślić, iż niewątpliwą zaletą tego sposobu jest brak komunikatu UAC podczas startu programu.

O autorze

Mariusz Kołacz

Z zawodu mgr inż. informatyk, zwolennik nowoczesnych technologii i fan Nikoli Tesla. Prowadzi kilka blogów o tematyce technologicznej. Po godzinach lubi przeczytać dobrą książkę, pozwiedzać ciekawe miejsca w Polsce lub spędzić wolny czas na łonie natury.

6 komentarzy

  • Muszę przyznać, bardzo przydatna porada. Sam osobiście wykorzystam ten sposób na cykliczne uruchamianie przy starcie systemu aplikacji ERUNT do wykonywania kopii rejestru, która jak na razie nie jest kompatybilna z mechanizmem UAC.

    • Są też inne sposoby ale wymagają użycia dodatkowego oprogramowania. Poradnik o harmonogramie zadań w zasadzie powstał na poczet innego artykułu, który niebawem pojawi się na blogu. Nie chciałem wszystkiego pakować do jednego artykułu.

  • A nie ma czegoś podobnego w Ubuntu? Interesowałoby mnie ustawienie “autoaktualizacji”.

    Prawdopodobnie trzebaby ustawić też z uprawnieniami administratora.

    • Z Ubuntu już od dłuższego czasu nie korzystam, ale update systemu można wykonać przez menedżera aktualizacji, dwa kliknięcia i zrobione. W Debianie kiedyś używałem skrypt powłoki do automatycznej aktualizacji, który startował aptitude update. Start skryptu z większymi uprawnieniami robiłem z wykorzystaniem zapisywania poświadczeń, nie pamiętam dokładnie jaką aplikację do tego wykorzystywałem, trzeba było dodatkowe pakiety dociągać. W tej chwili tej metody nie stosuje już więc musiałbym sobie odświeżyć informacje.

  • bardzo przydatna porada, teraz będzie mi się wraz z systemem uruchamiał Speed Fan… co do tej pory było niemożliwe nawet po przeniesieniu do autostartu…

  • Czy można jakoś wpłynąć uprawnienia tak uruchomienego programu?

    Program uruchamiany z poziomu HarmonogramuZadań nie ma dostępu do wszystkich funkcji.
    Np funkcja: GetActiveObject zwraca -2147221021 = 0x800401E3 = ‘Operation unavailable’.

    HRESULT hr = GetActiveObject (clsid, NULL, &pUnk);
    if (FAILED (hr))
    {
    SaveLogFile("Software is nor runing");
    return;
    }

Kliknij tutaj aby skomentować