Anuncio

Colapsar
No hay anuncio todavía.

[TIP] Ejecutar cualquier script cmd o bat con permisos de Administrador

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • [TIP] Ejecutar cualquier script cmd o bat con permisos de Administrador

    Algunas veces necesitamos ejecutar script con permisos de administrador, El presente esqueleto, analiza si tenemos perisos y en caso de no tenerlos eleva los privilegios a Administrador.

    Unicamente teneis que coloar cuerto codigo a partir de la etiqueta :cuerpo.

    Código:
    @echo off
    cd /d "%~dp0"
    if NOT "%cd%"=="%cd: =%" (
       echo El directorio actual contine espacios en el path.
       echo Este comando debe estar en un path que no contenga espacios. 
       rundll32.exe cmdext.dll,MessageBeepStub
       pause
       echo.
       goto :EOF
    )
    
    if {%1} EQU {[adm]} goto :data
    REG QUERY HKU\S-1-5-19\Environment >NUL 2>&1 && goto :data
    
    set command="""%~f0""" [adm] %*
    setlocal enabledelayedexpansion
    set "command=!command:'=''!"
    
    powershell -NoProfile Start-Process -FilePath '%COMSPEC%' ^
    -ArgumentList '/c """!command!"""' -Verb RunAs 2>NUL
    goto :EOF
    
    :data
    setlocal enabledelayedexpansion
    if {%1} EQU {[adm]} (
       set adm=%1
       shift
    ) ELSE (set adm=)
    
    :cuerpo
    REM ==============================================
    REM Poner aqui el codigo a ejecutar
    REM ==============================================
    
    
    
    
    REM ==============================================
    :fin
    if {%adm%} EQU {[adm]} (
       echo.
       echo [Pulse 0 para salir]
       choice /c 0 /n
    )

  • #2
    Funciona, y no se salta el UAC, lo que es un alivio.

    Comentario


    • #3
      Ahora mismo no se me ocurre ningún bat... que tenga para elevar permisos, pero seguro que alguno hay, me parece una función estupenda.

      Gracias.
      Vicky
      Un Saludo.

      Comentario

      Trabajando...
      X