08.02.2022 Views

batch-file-es Windows

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

:: check if we have administrative access

:: ------------------------------------------------------------------------

whoami /groups | find "S-1-5-32-544">NUL 2>&1 && goto:gotAdmin

echo/

echo/ Testing administrative privileges

echo/

echo/ Please enter administrative credentials

echo/

:: get user

:: ------------------------------------------------------------------------

set/P user="* User:: "

if "%user%" EQU "" exit/B 1

:: get password

:: ------------------------------------------------------------------------

<NUL set/p=* password& call:getPass pass || exit/B 1

if "%pass%" EQU "" exit/B 1

:: check if credential has administrative privileges

:: this call can be removed

:: ------------------------------------------------------------------------

call:askIsAdmin "%user%", "%pass%" || goto:notAdmin

:: run elevated without UAC prompt

:: with the previous call enabled, we are sure credentials are right

:: without it, this will fail if credentials are invalid

:: ------------------------------------------------------------------------

call:elevateScript "%user%", "%pass%"

exit/B 0

:gotAdmin

echo(

echo( You have administrative rights.

echo(

timeout /T 7

exit/B 0

:notAdmin

echo(

echo( Invalid credential or non administrative account privileges

echo(

timeout /T 7

exit/B 1

:: invoke powershell to get the password

:: ------------------------------------------------------------------------

:getPass

SetLocal

set "psCmd=powershell -Command "$pwd = read-host ':' -AsSecureString;

$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd);

[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""

for /F "usebackq delims=" %%# in (`%psCmd%`) do set "pwd=%%#"

if "%pwd%" EQU "" EndLocal & exit/B 1

EndLocal & set "%1=%pwd%"

doskey /listsize=0 >NUL 2>&1 & doskey /listsize=50 >NUL 2>&1 & rem empty keyboard

buffer

exit/B 0

https://riptutorial.com/es/home 72

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!