Kleines Beispiel, wie in einer Batch Datei überprüft werden kann ob der aktuelle Benutzer Admin-Rechte besitzt. Sollten die erforderlichen Rechte nicht vorhanden sein, wird das Programm erneut über ein VBScript aufgerufen, welches den bekannten UAC Dialog anzeigt und die Eingabe des Administrator-Passwortes ermöglicht.
Alternativ zum VBScript kann auch ELEVATE.EXE verwendet werden.
Getestet unter Windows 7/Windows 2008.
@echo off
%windir%\SYSTEM32\FSUTIL.exe > nul 2> nul && (GOTO admin) || (GOTO nonadmin)
:admin
REM Everything's fine!
echo ADMIN
goto end
:nonadmin
REM Prompt for elevation using VBScript and re-run batch file.
echo USER
set tempvbs=%temp%\%~n0.vbs
echo Dim oShell > "%tempvbs%"
echo Set oShell = CreateObject("Shell.Application") >> "%tempvbs%"
echo oShell.ShellExecute "%~f0", WScript.ScriptFullName, vbNullString, "runas" >> "%tempvbs%"
echo Set oShell = CreateObject("Shell.Application") >> "%tempvbs%"
cscript "%tempvbs%" //nologo
del "%tempvbs%"
goto end
:end
pause








