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