Batch: Programm als Admin starten?

2 Antworten

Wenn Du gefunden hast wie man CMD als Admin startet, solltest Du auch jedes andere Programm auf diese Art starten können.

echo CreateObject("Shell.Application").ShellExecute "mein Programm.exe","optionale Argumente des Programms","","runas",4 >"starter.VBS"
cscript //nologo "starter.VBS"

das ganze nochmal als ganze Batch mit cmd als "Mein Programm"

@echo off
:: ------- Self-elevating Batch  Nonadministrative Part   ----------------------
net session >nul 2>&1  ||( call :elevate & exit /b )


:admin -------------------------------------------------------------
echo Running as elevated user.
echo Script file : %~f0
echo Working dir : %cd%
echo Arguments   : 
for %%a in (%*) do (echo %%a)
pause
exit /b


::subroutines
:elevate
set "elevator=%temp%\%~n0.elevator.vbs%"
set "elevationCmdLine=/c cd /d "%cd%"&"%~f0" %*"
  rem alle Quotes in der Parameterliste  vedoppeln 
set "elevationCmdLine=%elevationCmdLine:"=""%"
echo CreateObject("Shell.Application").ShellExecute "cmd","%elevationCmdLine%","","runas",4 >"%elevator%"
cscript //nologo "%elevator%"
exit /b

https://ss64.com/vb/shellexecute.html

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Ja. So:

hstart.exe /uac „deinprogramm.bat“

Am besten in einer separaten Batchdatei starten oder in eine Verknüpfung reintun.

Woher ich das weiß:Studium / Ausbildung – Studium der Elektrotechnik und Informatik.