Jak automatycznie podnieść plik wsadowy, aby uruchomić go jako administrator?
Czasami trzeba utworzyć plik wsadowy, który zawiera polecenia wymagające podwyższonych uprawnień. Ze względu na funkcję UAC zawartą w systemie Windows od systemu Windows Vista, po uruchomieniu pliku wsadowego otwiera się on bez wymagane prawa dostępu, chyba że klikniesz je prawym przyciskiem myszy i wybierzesz „Uruchom jako administrator” z kontekstu menu. Oto, jak możesz utworzyć plik wsadowy, który automatycznie się podniesie.
Reklama
Zanim przejdziesz dalej, zobacz jak dodać plik wsadowy (*.bat) do nowego menu Eksploratora plików. Umieść następującą zawartość na początku pliku wsadowego:
:: Automatycznie sprawdź i uzyskaj uprawnienia administratora V2. @echo wyłączone. CLS. ECHO. ECHO ECHO Uruchomiona powłoka administracyjna. ECHO :init. setlocal DisableDelayedExpansion. ustaw "ścieżka wsadowa=%~0" dla %%k w (%0) ustaw wsadName=%%~nk. ustaw „vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs” setlocal EnableDelayedExpansion :checkPrivileges. PLIK SIECIOWY 1>BRAK 2>BRAK. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges. if '%1'=='ELEV' (echo ELEV & shift /1 & goto getPrivileges) ECHO. ECHO ************************************** ECHO Odwołuje się do kontroli konta użytkownika w celu eskalacji uprawnień. ECHO **************************************** ECHO Ustaw UAC = CreateObject^("Powłoka. Aplikacja"^) > "%vbsGetPrivileges%" Argumenty ECHO = "ELEV" >> "%vbsGetPrivileges%" ECHO dla każdego strArg w WScript. Argumenty >> „%vbsGetPrivileges%” ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Dalej >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* exit /B :gotPrivileges. setlocal i pchnięty. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>brak 2>brak i przesunięcie /1) ::POCZĄTEK. REM Uruchom powłokę jako admin (przykład) - umieść tutaj kod, jak chcesz. ECHO %batchName% Argumenty: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Umieść własne polecenia wsadowe, które wymagają podniesienia poniżej ostatniej linii.
Dostarczony kod utworzy specjalny plik VBS, który uruchomi go ponownie, jeśli nie jest uruchomiony jako Administrator. Tak więc, jeśli uruchomisz go z ograniczonymi uprawnieniami, otrzymasz monit UAC z prośbą o podniesienie uprawnień, zanim uruchomi swoje polecenia!
Oto jak to wygląda w Windows 10:
Kredyty dla tego kodu przejdź do Matt.