Mam tę linię w moim pliku BAT:
"Example1Server.exe"
Chciałbym to wykonać w trybie administratora. Jak zmodyfikować kod bat, aby uruchomić to jako administrator?
Czy to jest poprawne? Czy muszę cytować?
runas /user:Administrator invis.vbs Example1Server.exe
windows
batch-file
karikari
źródło
źródło
Odpowiedzi:
Używasz
runas
do uruchamiania programu jako określony użytkownik:źródło
Example1Server.exe
) nie trzeba umieszczać w cudzysłowie, ale w niektórych innych przypadkach (np. spacje w nazwie :)Example1 Server.exe
naprawdę byś ich potrzebowała. Możesz jednak używać cudzysłowów, nawet jeśli nie są potrzebne.runas /User:abc "csript myscript.vbs"
, lubrunas /User:abc "cmd /c start ..."
.Druga odpowiedź wymaga podania hasła do konta administratora. Ponadto uruchomienie na koncie w grupie administratorów nie jest tym samym, co uruchomienie z administratorem, zobacz: UAC w Wikipedii
Instrukcje dotyczące systemu Windows 7
Aby działać jako administrator, utwórz skrót do pliku wsadowego.
Następnie możesz ustawić skrót tak, aby działał jako administrator:
Teraz po dwukrotnym kliknięciu skrótu pojawi się monit o potwierdzenie UAC, a następnie Uruchom jako administrator (co, jak powiedziałem powyżej, różni się od uruchamiania na koncie w grupie administratorów)
Sprawdź poniższy zrzut ekranu
Uwaga: jeśli zrobisz to w celu uruchomienia jako administrator, bieżący katalog (ścieżka) nie będzie taki sam jak plik bat. Może to powodować pewne problemy w wielu przypadkach, gdy plik bat odwołuje się do plików względnych obok siebie. Na przykład w moim Windows 7 bieżącym katalogiem będzie SYSTEM32 zamiast lokalizacji pliku bat! Aby to obejść , użyj
cd "%~dp0"
albo lepiej
pushd "%~dp0"
aby upewnić się, że katalog cur znajduje się w tej samej ścieżce, co plik bat.
źródło
Po prostu dodaj to na początku pliku nietoperza:
Zostanie podniesiony do poziomu admin, a także pozostanie we właściwym katalogu. Przetestowano w systemie Windows 10.
źródło
exit
na końcu mojego pliku wsadowego lub zostałbym pozostawiony po monicie. Dzieje się tak prawdopodobnie dlatego, że plik .vbs uruchamia drugi wiersz polecenia.Jeśli możesz użyć narzędzia innej firmy, oto
elevate
narzędzie wiersza poleceń .Oto opis użytkowania:
źródło
elevate.exe
skały!Można użyć nircmd.exe „s podnieść polecenia
NirCmd Command Reference - Elevate
Tylko dla Windows Vista / 7/2008: Uruchom program z uprawnieniami administratora. Gdy [Program] zawiera jeden lub więcej znaków spacji, należy umieścić go w cudzysłowie.
Przykłady:
PS: Używam go na win 10 i działa
źródło
przekonwertuj plik wsadowy na .exe za pomocą tego narzędzia: http://www.battoexeconverter.com/, a następnie uruchom go jako administrator
źródło
Następnie
źródło
Myślę, że mam rozwiązanie problemu z hasłem. Ten pojedynczy argument jest naprawdę niesamowity. Pyta o hasło raz i nigdy więcej nie pyta o to. Nawet jeśli umieścisz go w innym programie, nie poprosi o hasło. Oto ona:
runas /user:Administrator /savecred Example1Server.exe
źródło
Moje eksperymenty wskazują, że polecenie runas musi zawierać domenę administratora (przynajmniej tak jest w konfiguracji środowiska mojej organizacji):
Jeśli nie znasz jeszcze domeny administratora, uruchom wystąpienie wiersza polecenia jako administrator i wprowadź następujące polecenie:
Odpowiedzi udzielone przez Kerreka SB i Eda Greavesa wykonają plik docelowy w ramach konta administratora, ale jeśli plik jest skryptem poleceń (plik .bat) lub skryptem VB (plik .vbs), który próbuje działać na normalnym logowaniu środowisko użytkownika (takie jak zmiana wpisów rejestru), możesz nie uzyskać pożądanych wyników, ponieważ środowisko, w którym skrypt faktycznie działa, będzie należało do administratora, a nie do zwykłego użytkownika! Na przykład, jeśli plik jest skryptem działającym w gałęzi rejestru HKEY_CURRENT_USER, „bieżący użytkownik”, którego dotyczy problem, będzie administratorem, a nie zwykłym użytkownikiem.
źródło
Użyj pełnego dysku fizycznego \ ścieżki do docelowego pliku wsadowego we właściwościach skrótu.
To nie działa w systemie Windows 10, jeśli używasz dysków zastępczych, tak jak próbowałem to zrobić na początku ...
źródło