Kaip paleisti programą kaip "paleisti kaip administratorius" iš komandų eilutės?

Turiu paketinį failą, pavadintą test.bat. Šiame test.bat faile skambinu pagal toliau pateiktas instrukcijas:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1

Kai tai paleidžiu per komandų eilutę, mano testų scenarijus sėkmingai veikia. Noriu jį paleisti kaip administratorius (tarsi būčiau sukūręs darbalaukio nuorodą ir paleidęs kaip administratorius. Jis neturėtų prašyti jokio vartotojo vardo ar slaptažodžio).

Bandžiau į pirmiau pateiktą test.bat įrašyti /elevate ir /NOUAC parametrus, bet nesėkmingai. Kaip man išspręsti šią problemą?

Žinau, kaip tai padaryti rankiniu būdu, bet noriu, kad tai būtų vykdoma iš komandų eilutės.

(Autorius Marnix Klooster): ...nenaudojant jokių papildomų įrankių, pavyzdžiui, siūlomų atsakyme į Super vartotojo klausimą Kaip paleisti programą iš komandinės eilutės su padidintomis teisėmis).

Išbandykite tai:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

Pirmą kartą slaptažodis išsaugomas ir daugiau niekada neprašomas. Galbūt, kai pakeisite administratoriaus slaptažodį, jūsų vėl bus paprašyta.

Komentarai (10)

Žr. šį TechNet straipsnį: Runas komandos dokumentacija

Iš komandinės eilutės:

C:\> runas /user:\administrator cmd

Arba, jei esate prisijungę prie domeno:

C:\> runas /user:\ cmd
Komentarai (2)

Atrodo, kad tai galima padaryti naudojant psexec -h:

 -h         If the target system is Windows Vista or higher, has the process
            run with the account's elevated token, if available.

Kuris... neatrodo, kad būtų nurodytas internetinėje dokumentacijoje Sysinternals - PsExec.

Tačiau mano kompiuteryje jis veikia.

Komentarai (4)