2011-07-25 18 views
91

mam ten wiersz wewnątrz moim pliku BAT:Jak zakodować plik BAT, aby zawsze działał jako tryb administratora?

"Example1Server.exe" 

chciałbym wykonać to w trybie administratora. Jak zmodyfikować kod bat, aby uruchomić go jako admin?

Czy to prawda? Czy muszę wstawić cytaty?

runas /user:Administrator invis.vbs Example1Server.exe 
+1

Zobacz również https://stackoverflow.com/questions/7690994/powershell-running-a-command-as-administrator –

+1

Zobacz także https://stackoverflow.com/questions/ 7044985/how-can-i-auto-elevate-my-batch-file-so-that-it-requests-from-uac-administrator –

Odpowiedz

41

użyć runas aby uruchomić program jako konkretnego użytkownika:

runas /user:Administrator Example1Server.exe 
+0

Chcesz wstawić cytaty? – karikari

+5

@karikari: Nazwa taka ('Example1Server.exe') nie musi być umieszczana w cudzysłowach, ale w niektórych innych przypadkach (np. Spacje w nazwie:' Example1 Server.exe') naprawdę byś ich potrzebował. Możesz * stosować * cytaty, nawet jeśli nie są potrzebne. –

+11

Konto administratora może nie być nazwane Administrator – Anders

281

Druga odpowiedź wymaga, aby wprowadzić hasło konta administratora. Również działa pod kontem w Grupie Administrator nie jest taka sama jak Uruchom jako administrator patrz: UAC on Wikipedia

systemu Windows 7 Instrukcja

Aby uruchomić jako administrator, należy utworzyć skrót do partii plik.

  1. prawym przyciskiem myszy plik wsadowy i kliknij skopiować
  2. Przejdź do którego chcesz skrót
  3. Kliknij prawym przyciskiem tło katalogu
  4. Wybierz Wklej Skrót

Następnie można ustawić Skrót do uruchomienia jako administrator:

  1. Kliknij prawym przyciskiem myszy skrót
  2. wybierz Właściwości
  3. W zakładce Skrót kliknij przycisk Zaawansowane
  4. Zaznacz pole wyboru „Uruchom jako administrator”
  5. Kliknij OK, OK

Teraz po dwukrotnym kliknięciu skrótu wyświetli monit o potwierdzenie UAC, a następnie Uruchom jako administrator (co, jak powiedziałem powyżej, jest inne niż działanie pod kontem w grupie administratorów)

zobacz zrzut ekranu poniżej

Screenshot

Uwaga: Kiedy to zrobisz polecenie Uruchom jako administrator, bieżący katalog (ścieżka) nie będzie taka sama jak pliku bat. Może to powodować w wielu przypadkach problemy, że plik bat odwołuje się do względnych plików obok niego. Na przykład w moim Windows 7, katalogiem będzie SYSTEM32 zamiast lokalizacji pliku nietoperza! To workaround it, należy użyć

cd %~dp0

lub lepiej

pushd %~dp0

celu zapewnienia cur dir jest w tym samym katalogu, w którym plik BAT.

+7

Ah, to było naprawdę ukryte (większość z nas nie myślała, że ​​ten zaawansowany przycisk ma taką opcję). Jestem prawie pewien, że ktokolwiek pomyślał o innej skomplikowanej odpowiedzi, nie wiedział o tym. To jest odpowiedź, której potrzebuje 90% + odwiedzających. –

+0

http://stackoverflow.com/a/12264592/999943 – phyatt

+1

Zgadzam się. to powinna być odpowiedź. Dodałem również zrzut ekranu, aby ułatwić znalezienie przycisku ** z wyprzedzeniem ** – fedmich

8

Jeśli możesz użyć narzędzia innej firmy, here is an elevate command line utility.

Jest to opis użycia:

Usage: Elevate [-?|-wait|-k] prog [args] 
-? - Shows this help 
-wait - Waits until prog terminates 
-k - Starts the the %COMSPEC% environment variable value and 
       executes prog in it (CMD.EXE, 4NT.EXE, etc.) 
prog - The program to execute 
args - Optional command line arguments to prog 
5

przekonwertować plik wsadowy do .exe z tego narzędzia: http://www.battoexeconverter.com/ następnie można uruchomić go jako administrator

+1

Należy pamiętać, że wiele antywirusów jest bardzo wrażliwych na pliki exe, które są budowane w ten sposób. "konwertowanie/szyfrowanie" plików wsadowych w ten sposób, jest starym sposobem wykorzystywanym przez złośliwe programy. – David

+0

Jeśli analizujesz tę domenę przy użyciu programu Symantec - Typ zagrożenia: inne oprogramowanie zastraszania Przyczyna zagrożenia: Domena zgłoszona i zweryfikowana jako obsługująca złośliwe oprogramowanie. Zidentyfikowane jako złośliwa domena lub adres URL. – Sunil

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić w nim istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ opinia/niskiej jakości-posts/18860633) – AsifAli72090

1

Można użyć elevate komenda nircmd.exe „s

NirCmd Command Reference - podnieś

elevate [Program] {Command-Line Parameters} 

Tylko dla Windows Vista/7/2008: Uruchom program z uprawnieniami administratora. Gdy [Program] zawiera jeden lub więcej znaków spacji, musisz umieścić go w cudzysłowie.

Przykłady:

elevate notepad.exe 
elevate notepad.exe C:\Windows\System32\Drivers\etc\HOSTS 
elevate "c:\program files\my software\abc.exe" 

PS: Używam go na Win 10 i działa

1
go get github.com/mattn/sudo 

Następnie

sudo Example1Server.exe 
3

Chyba mam rozwiązanie problemu hasło . Ten pojedynczy argument jest naprawdę niesamowity. Prosi o hasło raz i nigdy nie prosi o to ponownie. Nawet jeśli umieścisz go na innym programie, nie poprosi o hasło. Oto jest:

runas /user:Administrator /savecred Example1Server.exe

Powiązane problemy