Uruchom jako Administrator lub jako inny użytkownik (jednorazowo i za każdym razem)

spece_IT_Windows1_150Dzisiaj podpowiem Wam jak uruchamiać w środowisku graficznym i CMD programy z uprawnieniami lokalnego administratora lub jako inny użytkownik. Czynność ta bywa niezbędna, gdy program jest blokowany np. przez UAC, napisany w specyficzny sposób, lub aktualna sesja użytkownika, nie ma odpowiednich uprawnień.


 

Jednorazowe uruchomienie pliku jako Administrator

To proste zadanie możemy wykonać klikając PPM na pliku wykonywalnym (np. BAT, EXE) i wybierając „Uruchom jako Administrator (Run as Administrator)”
run as admin once

Jeśli nasze konto ma prawa administratora, nie musimy podawać hasła lokalnego administratora.

Jeśli jakiś plik nie pokazuje w menu tej opcji, to nic straconego. Wiele plików (np. MSI) można uruchomić jako inny użytkownik klikając PPM z wciśniętym klawiszem SHIFT:
run as different user once


 

Program wymaga uruchomienia jako Administrator za każdym razem

Istnieje możliwość, aby dany program zawsze uruchamiany był na koncie Admina. Działa to tak samo w Windows 7, 8 i wersjach serwerowych. Klikamy PPM na pliku, wybieramy zakładke „Zgodność” (Compatibility) i zaznaczamy checkbox „Uruchom ten program jako Administartor” jak na obrazku (z lewej anglojęzyczny Windows 8, z prawej polskojęzyczny 7):
run as admin

Używajcie tej sztuczki z rozwagą. To, że programy nie są domyślnie uruchamiane na koncie Administratora, ma uzasadnienie i wpływa na bezpieczeństwo naszej maszyny.


 

Runas i uruchamianie programów na innym koncie w Wierszu Poleceń


Systemy Windows posiadają wbudowane polecenie „runas” służące do uruchamiania poleceń jako inny użytkownik. Oto przykłady:

runas /user:Domena\konto program.exe

runas /user:Administartor program.exe

Po wciśnięciu ENTER, konsola zapyta nas o hasło podanego użytkownika. Nie można podać hasła jako parametr, ale ten problem można obejść na przykład psexec.exe – patrz niżej.

Jeśli mamy potrzebę wykonania kilku poleceń, nie trzeba każdego z nich uruchamiać przez runas. Można jednorazowo uruchomić sobie konsolę CMD, a każde polecenie w niej wpisane będzie miało odpowiednie uprawnienia.


 

..a może Psexec?

Opisany przeze mnie niegdyś program psexec.exe ma tę właściwość, że można w nim zaszyć poświadczenia użytkownika (zachęcam do odświeżenia sobie tamtego artykułu) stanowi więc alternatywę dla runas:

Psexec –u użytkownik –p H@sl0 program.exe

Zapisywanie skryptów z zaszytym hasłem, to ogromna luka w bezpieczeństwie. Jeśli się na to decydujecie, koniecznie prze-konwertujcie plik BAT do EXE, sposobem, który opisywał Rafał.

Psexec potrafi iść o krok dalej i uruchomić program jako SYSTEM. Zachęcam do zapoznania się z ta sztuczką.

Jeśli macie jakieś pytania lub uwagi –piszcie śmiało.

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

6 komentarzy

  1. Blade1984 napisał(a):

    Ale kombinacje a nie lepiej odpalić drugie cmd z prawami admina 🙂 runas /user: cmd.exe

    • Łukasz Skalikow napisał(a):

      Tak, i nawet wspomniałem o tym 🙂 „Jeśli mamy potrzebę wykonania kilku poleceń, nie trzeba każdego z nich
      uruchamiać przez runas. Można jednorazowo uruchomić sobie konsolę CMD,
      a każde polecenie w niej wpisane będzie miało odpowiednie uprawnienia.”

  2. hybrid napisał(a):

    Witam:) mam pod sobą 15 komputerów na każdym z nich ustawić chcę ograniczenia-typu zakaz zmiany pulpitu itd. każdy komputer ma zalozonych 8 kont, wiem już jak użyć klucza rejstru Runonce aby przy logowaniu kazdy uzytkownik zostal ustawiony jak zaplanowalem, mam tylko problem bo moj skrypt .bat ktory ustawia wpisy rejestruodpali się automatycznie ale z ograniczeniami dostepu do rejestru,chce zeby odpalal sie na uprawnieniach administratora (tak jak w GUI mozna kazdy programik odpalic tylko ze klikajac prawym przyciskiem i wybierajac uruchom jako admin) ja chce zeby moj skrypt uruchomil sie z takimi uprawnieniami. Probowalem juz runas ale prawie kazdy wpis rejestru skonczyl sie bledem Brak dostepu. Z góry dzieki za pomoc 🙂

  3. november napisał(a):

    Konwertowanie bat do exe też jest niebezpieczne wystarczy 7-zip otworzyc jako archiwum wejsc do folderu wyodrębnic zmienić na rozszerzenie bat i mamy spowrotem nasze zródło albo tez wystarczy otworzyc plik exe w notepad++ kliknąc szukaj wpisac nasze chasło i znajdzie się kod

  4. Brandon Kron napisał(a):

    Mam problem z psexec.
    Mianowicie uruchamiam polecenie:
    psexec @komputery.txt -u domenalogin -p haslo -c d:skrypt.bat
    I ok, kopiuje się batch i uruchamia ale:
    w skrypt.bat mam
    copy \serwerSkrypt.ps1 d:Skrypt.ps1
    powershell Set-ExecutionPolicy RemoteSigned
    powershell d:Skrypt.ps1 >> \serwer%computername%.txt

    plik Skrypt.ps1 się kopiuje
    uruchamia się polecenie Set-ExecutionPolicy i psexec czeka
    Muszę wcisnąć enter żeby wykonała się następna komenda lub jeśli jeszcze nie wykonała się pierwsza przeskakuje pusta linia i dalej czekamy.
    Problem jest taki że muszę to uruchomić na wielu komputerach i chciałbym żeby to było zautomatyzowane.

    jakieś podpowiedzi?

  5. Kapi napisał(a):

    Dałoby się może zrobic tak aby po starcie pc właczył się dany programik ale jednorazowo?

Dodaj komentarz