Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: TMarmol en 4 Abril 2012, 03:19 AM

Título: [Ayuda] Programa .bat
Publicado por: TMarmol en 4 Abril 2012, 03:19 AM
Bueno estoy creando un programa que haga diversas funciones para las cuales necesita estar en modo administrador, como puedo hacer para que el programa detecte si esta en modo admin o no?

yo habia pensado convariables pero no se como hacerlo.
Lo que quiero es si esta en modo admin no pase nada se ejecute el programa y ya pero si no lo esta que salte un msgbox con un mensaje de alerta y que se cierre el programa.

es en .bat por si no habeis leido el titulo
Título: Re: [Ayuda] Programa .bat
Publicado por: $Edu$ en 4 Abril 2012, 03:27 AM
Utilizando el comando && seguido de un comando clasico de administrador, entonces sabras si el anterior comando se ejecuto o no, si no se ejecuto es porque no es admin..

Dije ese disparate para que me quede este post como que participe y luego en casa hago la prueba que me quiero sacar esa duda que se me ocurrio xD
Título: Re: [Ayuda] Programa .bat
Publicado por: Eleкtro en 4 Abril 2012, 05:10 AM
Hombre, Lo que dijo $Edu$ es una opción, Sería algo así:

Código (DOS) [Seleccionar]
REM Comando que requiera privilegios de Admin para "probar" los privilegios + el resto de comandos:
Mkdir "%Windir%\System32\Test" && comando1 & comando2 &...



También puedes hacerlo de la siguiente manera, Comprobando si el usuario está dentro del grupo "administradores":

Código (dos) [Seleccionar]

@Echo OFF

NET User "%username%" | find "Admin" >NUL
IF NOT %ErrorLevel% EQU 0 (
     ECHO: msgbox "No tiene privilegios de Administrador.",16,"ALERTA" > "%TEMP%\Msgbox.vbs"
     Start /B Wscript "%TEMP%\Msgbox.vbs"
     Exit /B 1
)

REM El resto de tu script aquí...
Pause
Exit


Salu2.
Título: Re: [Ayuda] Programa .bat
Publicado por: TMarmol en 4 Abril 2012, 15:19 PM
Cita de: EleKtro H@cker en  4 Abril 2012, 05:10 AM
Hombre, Lo que dijo $Edu$ es una opción, Sería algo así:

Código (DOS) [Seleccionar]
REM Comando que requiera privilegios de Admin para "probar" los privilegios + el resto de comandos:
Mkdir "%Windir%\System32\Test" && comando1 & comando2 &...



También puedes hacerlo de la siguiente manera, Comprobando si el usuario está dentro del grupo "administradores":

Código (dos) [Seleccionar]

@Echo OFF

NET User "%username%" | find "Admin" >NUL
IF NOT %ErrorLevel% EQU 0 (
    ECHO: msgbox "No tiene privilegios de Administrador.",16,"ALERTA" > "%TEMP%\Msgbox.vbs"
    Start /B Wscript "%TEMP%\Msgbox.vbs"
    Exit /B 1
)

REM El resto de tu script aquí...
Pause
Exit


Salu2.
Gracias funciono pero sigo teniendo un problema:
El primer codigo funciona pero una vez que ejecutas el programa en modo admin,
las siguientes veces pone que el archivo ya existe, he porbado con el comando del:

Código (dos) [Seleccionar]
@echo off
Mkdir "%Windir%\System32\Test" &&goto :2 &del /q "%Windir%\System32\Test"
echo Para continuar ejecute el Installer en modo Admin
pause>nul
exit


pero no lo elimina

y el segundo comando se queda la ventana en negro o se cierra rapidamente
Título: Re: [Ayuda] Programa .bat
Publicado por: $Edu$ en 4 Abril 2012, 15:51 PM
Es solo un ejemplo.. supuestamente Elektro H@acker si creas un directorio en System32 es porque sos administrador, sino no, pero obviamente si no borras la carpeta la proxima vez dira que existe.

Entonces haces asi igual:

Código (dos) [Seleccionar]

@echo off
Mkdir "%Windir%\System32\Prueba3" &&goto :admin
echo No eres administrador, ejecute el Installer como administrador.
pause>nul
exit

:admin
rd /q /s "%Windir%\System32\Prueba3"
echo Bienvenido a la instalacion...
pause>nul



Ya me diras si anda o no, que no tengo para probar
Título: Re: [Ayuda] Programa .bat
Publicado por: Eleкtro en 4 Abril 2012, 15:52 PM
   
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.




Es un método más fiable el 2º... Pero bueno si quieres usar el primero, Necesitas usar RD:

Cita de: CMDRD /?
Quita (elimina) un directorio.
RD [/S] [/Q] [unidad:]ruta

Código (dos) [Seleccionar]
RD /Q "%Windir%\System32\Test"


PD: Dices que el segundo comando se te queda la ventana en negro, Como ya explicó $Edu$ de eso se trata xD, Si el primero falla, el resto de la serie de comandos que le sigan no se ejecutarán (Siempre que uses el operador "&&" en todos los comandos que le sigan.).


Salu2.
Título: Re: [Ayuda] Programa .bat
Publicado por: TMarmol en 8 Abril 2012, 15:04 PM
Gracias! ya me funciono podeis cerrarlo