entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Ejecutar comando MS-DOS como administrador desde PHP

Hola cordial saludo a todos, quisiera que por favor me colaboren con este problema:

Necesito ejecutar el comando WMIC /NODE:host ... para obtener información de un equipo en red, pero este debo ejecutarlo como Administrador, lo cual se hace con RUNAS, ahora lo que yo quiero es ejecutarlo desde PHP con shell_exec(comando) . El problema es que luego de la primera linea me pide la Contraseña de administrador y de hay no pasa.
Mi pregunta es, ¿como se representa un ENTER en PHP osea una vez se ejecute la 1° linea automáticamente ejecutar otra?

EN CMD SERIA ALGO ASI:

c:\>RUNAS /USER:Administrador WMIC /NODE:host /USER:user /PASSWORD:pass CPU get /all /FORMAT:List

Escriba la contraseña para Administrador:

Ahora como seria en PHP:

$salida = shell_exec("RUNAS /USER:Administrador WMIC /NODE:host /USER:user /PASSWORD:pass CPU get /all /FORMAT:List")

¿Como hago para mandarle la contraseña?

NOTA: El comando RUNAS no permite incluir la contraseña en la misma linea.

1voto

carlossevi comentado

No me parece muy seguro eso de que las contraseñas estén en texto plano circulando por el código, pero como alternativa CPAU permite incluirla en la llamada mediante el parámetro -p: -u joehome\joe -p logon.

0voto

yuliandavid comentado

Pues la verdad en mi linea de comandos no reconoce CPAU como un comando.

0voto

carlossevi comentado

En el enlace puedes ver cómo no es ningún componente del SO, sino que es un software de terceros.

1 Respuesta

0voto

Leonardo-Tadei Puntos227320

Hola @yuliandavid,

si estás queriendo ejecutar el comando desde PHP vía un servidor web, es imposible poner la contraseña a RUNAS, no por una limitación de PHP, sino por una limitación delprotocolo HTTP que impide que una tarea se quede esperando una respuesta para luego darle la contraseña.

Adhiero a la solución de @carlossevi, de usar un programa que acepte la contraseña en la línea de comandos, o que use unas credenciales para que la contraseña no esté en el script (como hace el comando sudo en GNU/Linux)

Saludos

PD: suena raro eso de "ejecutar comando DOS como administrador", ya que DOS no es un sistema operativo multiusuario...

0voto

yuliandavid comentado

ok, le agradezco, la verdad se muy poco sobre el tema, seguiré investigando haber como lo soluciono.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta