Advertisement
Guest User

extend_Self_Elevate

a guest
Apr 13th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.14 KB | None | 0 0
  1. @echo off
  2. set "elevator=%temp%\%~n0.elevate.js"
  3. net session >nul 2>&1 && goto :adminTasks
  4.  rem Wichtig!!!!  set -Angaben immer in Anführungszeichen   !!! ...Steuerzeichen enthalten
  5.  rem nach den "=" die Befehlszeile , welche Aufgerufen werden soll.
  6. set "elevationCmdLine=cd /d "%cd%"&call "%~f0" %*"
  7.  rem & durch maskiertes ^& ersetzen  
  8. set "elevationCmdLine=%elevationCmdLine:&=^&%"
  9.  rem da in Javascript ein einzelner Backslash als Steuerzeichen (Escapecharakter) gewertet wird, alle Backslashes  verdoppeln
  10. set "elevationCmdLine=%elevationCmdLine:\=\\%"
  11.  rem das geht nur mit JavaSript in einer  externen Datei. Nur so lassen sich zwei verschiedene Quotes  verschachteln!
  12.  rem die Carrets "^" vor  den  Klammern sind extrem wichtig (Maskierung).
  13. echo  var objShell = new ActiveXObject^("shell.application"^); >"%elevator%"
  14. echo objShell.ShellExecute^('cmd','/c %elevationCmdLine% ' ,'','runas',1^); >>"%elevator%"
  15. cscript //nologo "%elevator%"
  16. exit /b
  17.  
  18.  
  19. :adminTasks
  20. echo Ausfuehrung mit Adminrechten.
  21. echo Diese Batch          : %~f0
  22. echo Arbeitsverzeichniss  : %cd%
  23. echo uebergebene Argumente:
  24. for %%a in (%*) do (echo %%a)
  25. pause
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement