Mám dávkový súbor s názvom test.bat
. V súbore test.bat
volám nasledujúce pokyny:
start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1
Keď to spustím cez príkazový riadok, môj testovací skript sa úspešne spustí. Chcem ho spustiť ako správca (ako keby som vytvoril zástupcu na ploche a spustil ho ako správca. Nemalo by sa to pýtať na žiadne používateľské meno ani heslo).
Skúsil som pridať parametre /elevate
a /NOUAC
do vyššie uvedeného príkazu test.bat
, ale bez úspechu. Ako mám tento problém vyriešiť?
Viem, ako to urobiť ručne, ale chcem, aby sa to vykonalo z príkazového riadku.
(Autor Marnix Klooster): ...bez použitia ďalších nástrojov, ako sú tie, ktoré sú navrhnuté v odpovedi na otázku Super User Ako spustiť program z príkazového riadku so zvýšenými právami).
Skúste toto:
runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1"
Heslo sa uloží prvýkrát a už sa naň nikdy nepýta. Možno pri zmene hesla správcu budete vyzvaní znova.
Pozri tento článok TechNet: Dokumentácia príkazu Runas
Z príkazového riadku:
C:\> runas /user:<localmachinename>\administrator cmd
Alebo, ak ste pripojení k doméne:
C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
Vyzerá to, že psexec -h
je spôsob, ako to urobiť:
-h If the target system is Windows Vista or higher, has the process
run with the account's elevated token, if available.
Čo... sa nezdá byť uvedené v online dokumentácii v Sysinternals - PsExec.
Ale na mojom počítači to funguje.