16 votos

Método para integrar scripts de Powershell con los no-flujo de trabajo de Windows?

Me encanta el olor de las nuevas máquinas en la mañana.

Yo soy la automatización de una máquina de flujo de trabajo de creación que involucra varios sistemas independientes que a través de mi infraestructura, algunas de las cuales implican 15 años de edad de scripts de perl en Solaris de los ejércitos, el Arranque PXE sistemas Linux, y Powershell en Windows Server 2008.

Puedo secuencia de comandos de cada una de las partes individuales, y la integración de Linux y Unix automatización es bastante sencillo, pero estoy en una pérdida en cuanto a cómo de forma fiable unen a las secuencias de comandos de Powershell para el resto de los procesos.

Yo preferiría si el proceso se inició en un host Linux, ya que me imagino que va a terminar como una aplicación web que viven en un servidor Apache, pero si que necesita para comenzar en Windows, estoy vacilante-de acuerdo con eso.

Yo ideal sería algo a lo largo de las líneas de psexec para Linux para ejecutar en Windows, pero la respuesta en esa dirección parece por Cygwin, y como mucho le agradezco todo el trabajo duro que ponen, es que nunca se ha sentido a la derecha, si usted sabe a qué me refiero. Es ideal para un escritorio y le da un montón de funcionalidades, pero me siento como servidores de Windows deben ser tratados como los servidores de Windows y no degenerada máquinas Unix (que, por cierto, es mi argumento en contra de la OSX servidores, demasiado, y son en realidad Unix). De todos modos, no quiero ir con Cygwin, a menos que la última y única opción.

Así que supongo que lo que estoy preguntando es si hay una manera de ejecutar los trabajos en las máquinas de Windows desde Linux. Sin Cygwin. Estoy abierto a ideas y sugerencias, incluyendo "Mira idiota, todo el mundo utiliza Cygwin, por lo que aspirar y tratar con él". Gracias de antemano!

5voto

sysadmin1138 Puntos86362

Me he pasado horas golpeando sobre este problema y se llegó finalmente a dos viable opciones (hay un montón de no-viables opciones por ahí):

  1. Construir un cuadro de Windows con IIS de servicio de alojamiento de un WebAPI que es a la vez domained y configurar de tal manera que WinRM sesiones de va a trabajar.
  2. Cygwin

Con la segunda opción usted está atascado lucha su camino a través de la licencia GNU/Posix capa de abstracción para llegar a la real de windows bits. Que restringe lo que eres capaz de hacer con ella.

La primera opción bastante construye una basada en la web la capa de abstracción de usted mismo escribe en la parte superior de su nativa completa de la pila de instalación de Windows. Si usted está dispuesto a poner en el trabajo, el Linux maestro-servidor sólo tiene que hacer un montón de rizos llamadas a hacer lo que necesita hacer. Esto funciona mejor cuando los guiones son de fuego-y-olvidar, sin embargo, como la construcción de un call-back es un sistema mucho más esfuerzo.

3voto

mfinni Puntos29745

Usted también puede comprar de la multiplataforma de programación o de flujo de trabajo de software de automatización que se pueden poner fuera nativo de secuencias de comandos en muchos hosts dependiendo de las acciones anteriores, o incluso en sus resultados devueltos. Las grandes empresas utilizan software como Tivoli, UC4, máquina de café Espresso (CA dSeries, ahora) que hace esto, y lo he utilizado en las grandes empresas que se necesita para hacer este tipo de cosas. FYI, estos a menudo tienen soporte nativo para cosas como Oracle puestos de trabajo, para dar una idea de la etiqueta que usted podría estar buscando.

(En mi último trabajo, que también se utiliza Cygwin, de todos modos, por lo que se podría utilizar el mismo Perl scripts sin necesidad de modificación cuando las cargas de trabajo se movía entre plataformas. Un montón de diversión.)

También se podría tratar de construir su propio, como @sysadmin1138 sugiere; que iba a ser un proyecto divertido, y podría incluso terminar lo suficientemente robusta como para ser útil y no te paginado a las 2 de la mañana cuando la financiera de las exportaciones de fallar en el primer intento.

3voto

Roy Kaldung Puntos31

Me gustaría utilizar el Powershell Web Access característica introducida en Powershell v3.0. Esto permite el uso de scripts de Powershell desde un host Linux.

2voto

webyz Puntos11

PowerShell server le permite SSH en un servidor Windows y obtener una consola de PowerShell. No lo he utilizado más allá de la versión de prueba gratuita, pero mi uso informal me demostró que era bastante fiable del producto.

2voto

MDMarra Puntos81543

Cómo bruto ¿quieres sentir después, porque siempre hay telnet :)

Hablando en serio, ¿por qué necesita el servidor Linux para llamar al script de PowerShell? Puedes rediseñar el flujo de trabajo para que el servidor Linux ofrece simplemente el arranque correcto.wim imagen a través de tftp para PXE arrancado de host? He tenido buena suerte en el pasado, manteniendo una imagen de Windows con diferentes archivos de respuesta en un servidor de archivos de Windows y la entrega de una costumbre WinPE imagen de arranque mediante tftpd de un host Linux. Entonces, usted puede tener el archivo de respuesta de llamada de la correcta secuencia de comandos de PowerShell y usted no tiene que lidiar con la multiplataforma de yuckiness como Cygwin.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: