![]() |
Apagar ordenador remoto
Hola a todos...
He hechado un vistacillo por los foros y no he encontrado nada al respecto. Vereis... Estoy intentando que, desde una aplicación delphi en mi ordenador pueda apagar un ordenador de la red solo conociendo su ip, o nombre de equipo. Además me gustaría que en este ordenador no tubiese que instalar ningún tipo de aplicación cliente ni nada por el estilo... Es posible??. Muchas gracias por adelantado |
Se me olvidaba, trabajo con windows xp en todas las máquinas
|
Cita:
Puedes revisar esta API: InitiateSystemShutdown que te permite hacer eso sobreuna computadora de la red, pero al final te explica lo siguiente: //------------------------------------------------------------------- Remarks To shut down the local computer, the calling process must have the SE_SHUTDOWN_NAME privilege. To shut down a remote computer, the calling process must have the SE_REMOTE_SHUTDOWN_NAME privilege on the remote computer. By default, users can enable the SE_SHUTDOWN_NAME privilege on the computer they are logged onto, and administrators can enable the SE_REMOTE_SHUTDOWN_NAME privilege on remote computers. //------------------------------------------------------------------- Vamos, que si no tienes permisos, no tienes nada que hacer...;) |
Otra preguntilla, como puedo darle esos privilegios en la otra máquina...
Soy un tanto amater y no tengo ni idea. También agradecería un ejemplillo del uso de la función. Muchas gracias |
Cita:
Es decir (y en esto que me corrija alguna otra persona si me equivoco), para hacer un "Remote shutdown" necesitas la IP de la otra máquina, un nombre de usuario definido en la otra máquina (entre las cuentas de usuario) y además ese usuario debe tener permisos de Administrador. Si lo que quieres es darle permisos de Administrador a un usuario que no los tiene, lo que necesitas es conocer un usuario con permisos de Administrador, para darle los permisos de Admnistrador al usuario que no los tiene con el usuario que sí los tiene...;) ...no se si te has dado cuenta que siempre llegamos al mismo sitio. Un saludo. |
...O que pertenezca a los administradores definidos para el dominio al que pertenecen dichas maquinas
|
Hola de nuevo:
Veréis, estoy utilizando el siguiente código:
Este código, cuando le asigno los privilegios de apagar el ordenador de forma remota al grupo todos me funciona, sino no funciona. Mi pregunta es... ¿Con que usuario se conecta el programa al ejecutar esta función? ¿Con el usuario activo en la máquina destino? ¿Con el usuario activo en mi máquina? ¿Con otro usuario distinto?... ¿Como puedo lograr que mi programa se conecte como administrador en la máquina remota conociendo el password? Muchas gracias por adelantado |
Supongo que con el usuario activo de la maquina en el que corras el programa en delphi.
|
He probado a intentar apagar un equipo en forma remota utilizando yo la cuenta de adminstrador y el programa me devuelve el error de acceso denegado. Mientras que en la máquina remota el usuario administrador tiene permisos para apagar el ordenador en forma remota...
Por lo cual deduzco que esa suposición es incorrecta, yo creo que realmente el programa manda la orden y es el usuario que esté en ejecución en la máquina remota el que procesa el mensaje. Lo interesante sería lograr que la orden que yo mando desde mi puesto el ordenador remoto la reconociese como si fuese una orden del administrador...pero... ¿Como envío la orden de apagado a un equipo remoto para que este la reconozca como que debe ejecutarla como administrador del sistema? |
Cita:
Hasta luego. ;) |
Me parece muy bonito que quieras lograr esto con delphi. Windows (XP al menos) te permite ejecutar un programa como otro usuario (click derecho, run as), prueba ejecutar el programa con la cuenta del administrador de dominio, o con la cuenta administrator de la maquina que quieres apagar.
Ahora bien, si quieres algo practico, te recomiendo que pruebes las pstools, herramientas de lineas de comando que te permiten, entre otras cosas, apagar remotamente maquinas en redes M$ |
La franja horaria es GMT +2. Ahora son las 01:01:22. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi