PDA

Ver la versión completa : ejecutar BAT a otro PC



guif
18/09/2007, 15:32
Es posible ejecutar un fichero BAT a otro PC?

algo como \\pc_01\fichero.bat y que se ejecutara.

jgutierrez
18/09/2007, 15:54
Seguramente si. A malas, siempre puedes mapearlo como una unidad.

guif
18/09/2007, 16:01
mapear puedo, pero ejecutarlo en esa unidad se puede?

PGM
18/09/2007, 16:02
Es mejor que mapees esa unidad remota para convertirla en una unidad de red. De no hacerlo, los archivos bat y cmd no te funcionarán y darán el error de que no admiten rutas UNC.

guif
18/09/2007, 16:10
y una vez mapeada la unidad como lo ejecuto?

PGM
18/09/2007, 16:25
Pues lo ejecutas en la unidad de red, como z:.

guif
18/09/2007, 16:41
pero si entro en la ventana z:\ como ejecuto el script dentro de esa unidad?

Insomne
18/09/2007, 16:47
Hola.

No me queda del todo claro si lo que quieres es ejecutar un .bat que ESTÁ en otro pc o ejecutar un bat EN otro pc.

Un comando como el \\pc_01\fichero.bat (file://\\pc_01\fichero.bat) (o Z:\fichero.bat, si quieres mapear como unidad de red para evitar problemas) ejecuta el fichero que está en pc_01 en tu pc, lo cual no quita que pueda realizar acciones sobre pc_01, pero si ese bat incluyera un comando como "date 20-08-2006" le estarías cambiando la fecha a tu pc no al otro.

Si lo que quieres es ejecutar un bat que está en otro pc en ese mismo pc se trataría de una ejecución remota y podrías hacerlo (por ejemplo) con un telnet al otro equipo.

Un saludo.

guif
18/09/2007, 17:06
el fichero BAT esta en mi PC o en el de otro.
Yo lo que quiero es que el script BAT afecte a otro PC. AL \\PC_01 pero... como hago un telnet?

telnet PC_01???

infomatms
18/09/2007, 17:15
Es posible ejecutar un fichero BAT a otro PC?

algo como \\pc_01\fichero.bat y que se ejecutara.
Hola, entendiendo que lo que quieres es una ejecución remota de un script que corra en otro pc remoto y no en el tuyo podrías hacerlo fácilmente con el comando:



psexec.exe \\pc_01 -u usuario -p contraseña command.com /c c:\fichero.bat


Donde usuario sería el usuario autorizado en el pc con nombre pc_01, contraseña sería el password que necesitas y c:\fichero.bat el script que existe en ese ordenador remoto. Utilizo command.com para que lance tu fichero.

PSEXEC es una utilidad gratuita y buenísima de ejecución remota de Sysinternals. Hoy en día, tras comprar Microsoft dicha desarrolladora, también es compatible con Vista (aunque a mí personalmente me casca de vez en cuando, y la otra nunca fallaba, además la otra no requería instalación y esta sí):

http://www.microsoft.com/spain/technet/sysinternals/utilities/PsExec.mspx

NOTA: Sólo funciona bajo Sistemas NT ya que requiere de la compartición de ciertas carpetas de sistema (al menos creo que ADMIN$).

infomatms
18/09/2007, 17:22
Y que conste que a mí la solución del telnet o del ssh o similar me gusta, pero ésta que propongo del psexec quizá seas menos liosa para alguien que nunca ha usado ese tipo de conexiones remotas ni sus comandos.

Insomne
18/09/2007, 17:26
Hola.

1) Situa el .bat en el pc remoto

2) En la configuración de red del pc remoto asegurate de que no hay cortafuegos que cierre el puerto 23

3) telnet ip_del_otro_pc

4) te pedira una contraseña y nombre de usuario que se corresponderán a algun usuario válido para el pc remoto

5) La ventana en la que estas ahora (consola) es a todos los efectos como estar en una consola del pc remoto: Muevete por sus directorios hasta donde dejaste el .bat y ejecutalo, se ejecutará en el remoto.

Un saludo.

guif
18/09/2007, 17:29
infomatms (http://foro.noticias3d.com/vbulletin/member.php?u=42251) me lo miro y os cuento. Gracias!

infomatms
18/09/2007, 18:59
Hola.

Siempre usé telnet o ssh para eso, pero la comodidad de un comando y listo no tiene precio. Eso y no tener que instalar un servidor de telnet en el Windows remoto (no necesario si tienes ya en el remoto un Server 2000 ó 2003, Linux,Mac, Unix, etc.). También la potencia de poder decir en cualquier momento y cualquier lugar: "quiero administrar remotamente un pc remoto cualquiera y no le tengo ningun soft instalado ni debo hacerlo (server telnet/ssh, netmeeting, Radmin, logmein, etc)"...

Salu2.

Insomne
18/09/2007, 22:25
Siempre usé telnet o ssh para eso, pero la comodidad de un comando y listo no tiene precio. Eso y no tener que instalar un servidor de telnet en el Windows remoto


Cierto, es necesario tener un servidor telnet corriendo en el equipo al que te conectas y no todos los s.o. lo tienen. Olvidemos el telnet pues :)

Parece interesante esa utilidad. Otra opción podría ser conectarse por escritorio remoto al \\pc_01 (file://\\pc_01) y ejecutar el .bat

Un saludo.

guif
19/09/2007, 09:56
despues de utilizar el comando: psexec.exe \\PC_01 -u administrador -p contraseña command.com c:\archivo.bat en principio no me da error pero no visualizo nada. Eso es que lo esta ejecutando o simplemente se ha bloqueado? Lo que si me aparece es una barra parpadeando en la consola. P.D.: telnet esta bloqueado y no lo puedo ejecutar en las maquinas.

infomatms
19/09/2007, 17:16
despues de utilizar el comando: psexec.exe \\PC_01 -u administrador -p contraseña command.com c:\archivo.bat en principio no me da error pero no visualizo nada. Eso es que lo esta ejecutando o simplemente se ha bloqueado? Lo que si me aparece es una barra parpadeando en la consola. P.D.: telnet esta bloqueado y no lo puedo ejecutar en las maquinas.
Es totalmente normal no ver ciertas de salidas pues se ejecuta en el otro pc y éste no lo devuelve todo. Y en el ordenador remoto verás aún menos porque por defecto permanece oculto. Si quisieras mostrar la consola o el programa que estés ejecutando en el ordenador remoto añade el parámetro -i, por ejemplo tras psexec.exe, sino permanecerá oculto.

También tardará un poquito (y te saldrá el parpadeo que dices) la primera vez que te conectes a un ordenador determinado ya que tendrá que instalar un servicio remotamente, PSEXESVC, que se encargará de todo.

Por cierto, la ejecución de psexec.exe devuelve códigos de error que puedes utilizar para saber si todo ha ido bien. Como siempre, en MSDOS, podrás recojerlos a través de la variable %ERRORLEVEL%.

guif
25/09/2007, 14:53
ya lo he resuelto.

poniendo en CMD: fichero.bat L:
donde L: es la letra en MIPC.
y L: esta dentro del fichero.bat como valor '%1'

gracias igualmente por vuestras respuesta.