Ejecución de una secuencia de comandos en equipos miembros del dominio de Active Directory sin reiniciar ni iniciar sesión

Ejecución de una secuencia de comandos en equipos miembros del dominio de Active Directory sin reiniciar ni iniciar sesión

Tengo un dominio de Active Directory ejecutándose en Windows Server 2003 R2. Los clientes son una mezcla de Windows XP SP2, Vista y Windows 7. Quiero ejecutar un script (archivo por lotes, pero posiblemente un script VB) en cada máquina, una vez. No quiero que esto suceda al iniciar sesión, cerrar sesión, iniciar o apagar. Sólo quiero que suceda lo antes posible y una vez.

¿Existe una forma relativamente sencilla de hacer esto que funcione en todos los tipos de clientes?

Gracias.

ACTUALIZAR: Debería haber mencionado esto originalmente: muchas de las PC están detrás de enrutadores baratos de 5 puertos conectados a un conector Ethernet. Piense en cinco estudiantes de posgrado que comparten una oficina. Entonces cada PC en una oficina tiene una IP RFC1918. Estoy en el lado público del enrutador, por lo que no puedo conectarme directamente a la PC. Por lo tanto, PsExec o WMI no funcionarán. WinRM podría, pero la mayoría de las PC no lo tienen instalado. Creo que mi única opción es utilizar un GPO de alguna manera, tal vez programar una tarea para ejecutar un script desde una unidad de red.

Respuesta1

Yo diría que usarpsHerramientaspsexec.exe para ejecutar el script de forma remota.

Es un proceso sencillo para comenzar a funcionar, no es necesario que inicies sesión en cada estación y no deja huella después.


En respuesta a todos los comentarios, dado que pueden hablar con los DC para estar en el dominio, debería poder saltar a un DC y ejecutar el script psexec desde allí.

Respuesta2

Esto suena como un trabajo parapsexec. PSexec le permitirá ejecutar de forma remota un script en todas las computadoras del dominio si proporciona '\' como computadora. Deberá agregar algún tipo de lógica a su secuencia de comandos para dejar algún tipo de indicación en el sistema de que se ha completado y verificarlo antes de comenzar.

Respuesta3

Puede escribir un script contenedor y usar psexec para conectarse a las máquinas remotas y ejecutar el script que desea ejecutar, siempre que esté en una ubicación accesible para esas máquinas. Sólo tienes que tener una fuente para que las PC a las que te estás conectando puedan recorrerlas.

Respuesta4

Quiero ejecutar un script (archivo por lotes, pero posiblemente un script VB) en cada máquina, una vez. No quiero que esto suceda al iniciar sesión, cerrar sesión, iniciar o apagar. Sólo quiero que suceda lo antes posible y una vez. ¿Existe una forma relativamente sencilla de hacer esto que funcione en todos los tipos de clientes?

escritura VB.

Muchas de las PC están detrás de enrutadores baratos de 5 puertos conectados a un conector Ethernet. Piense en cinco estudiantes de posgrado que comparten una oficina. Entonces cada PC en una oficina tiene una IP RFC1918.

Me sorprende que esto funcione. Supongo que todos los enrutadores tienen subredes diferentes; de lo contrario, su dominio estará en un caos total y absoluto ya que tendrá cualquier número de clientes intentando reclamar la misma dirección IP 192.168.xx...

Estoy en el lado público del enrutador, por lo que no puedo conectarme directamente a la PC. Por lo tanto, PsExec o WMI no funcionarán.

Este es tu primer problema. Necesitas meterte "dentro" de la red de cada uno. Parece que las PC remotas están detrás de algún tipo de firewall NAT, y eso causará todo tipo de dolores de cabeza. Técnicamente, "en un mundo perfecto", su servidor debería estar en la misma red que sus clientes. ¿Los clientes se conectan a través de VPN? Si es así, ese será su boleto de entrada.

Creo que mi única opción es utilizar un GPO de alguna manera, tal vez programar una tarea para ejecutar un script desde una unidad de red.

Esto puede ser un problema si el GPO que crea se aplica cuando el usuario inicia sesión, dado que usted dijo que no desea que esto suceda cuando el usuario inicia sesión en la máquina.


Lamento ofenderte con esto, pero dada la naturaleza de la pregunta, debo preguntar (si estás dispuesto a responder): ¿por qué necesitas hacer esto? Una red administrada no se configuraría de esta manera tan loca y, francamente, desde mi punto de vista, parece que desea montar algún tipo de violación contra estas redes internas.

información relacionada