training-guides/labs/lib/wbatch/template-elevate_privs_bat
Roger Luethi 9e9968197c wbatch: elevated privileges for create_hostnet
Currently, create_hostnet.bat asks no less than six times for elevated
privileges (once for each network created or modified). This change adds
code that allows create_hostnet to keep the elevated privileges while
configuring networks. That is, it prompts once rather than six times.

Partial-Bug: 1312764
Implements: blueprint openstack-training-labs
Change-Id: I30f9c158c674f1e308dc14d5e2efef184b6d464b
2014-06-17 18:56:10 +02:00

27 lines
820 B
Batchfile

REM Elevate credentials, code courtesy of Matthew Newton
REM http://blog.mnewton.com/articles/Windows-Installer-Batch-Script-Revisited.html
REM Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
REM we are done, exiting recursive call
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
echo We have admin privileges, proceeding...
REM vim: set ai ts=4 sw=4 et ft=dosbatch: