2012-04-25 15 views
6

Estoy tratando de mover algunas de mis operaciones de shell de powershell a cygwin, principalmente como un ejercicio educativo, pero también porque realmente estoy empezando a amar algunas de las herramientas de sabor de Linux. Una cosa que todavía estoy tratando de resolver es cómo enumerar/manipular los servicios de Windows. Powershell tenía algunas herramientas muy útiles para ello, tales como:supervisa servicios de Windows con cygwin

stop-service [pattern] 
start-service [pattern] 
gsv (or get-service) [pattern] 

trabajo con una gran cantidad de servicios personalizados últimamente y me gustaría no tener que cambiar a PowerShell para hacer esto en mi flujo de trabajo normal. ¿Alguien ha resuelto esto? Varios intentos de googleear esto se han visto obstaculizados por muchas cosas sobre cómo lidiar con el funcionamiento de cygwin como un servicio.

Cualquier ayuda/consejos muy apreciados ...

Respuesta

6

¿Qué hay de invocar comandos de PowerShell desde dentro cygwin?

cmd /c '%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe' -Command "gsv" 

EDITAR: Y una solución más general sería la creación de una secuencia de comandos que contiene powershell.sh:

#!/bin/bash 
set -e 
set -u 
cmd /c '%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe' -Command "[email protected]" 

Después de que se puede ejecutar: ./powershell.sh gsv o lo que sea comandos que necesita.

+0

Agradable. ¡Gracias! He agregado muchas cosas de este tipo al archivo .bashrc. Supongo que la ventaja del archivo .sh es solo para ayudar a mantener las cosas organizadas. – brettman

+0

Para mantenerlo organizado, y también hace que sea más fácil compartirlo (en mi caso, está en nuestro repositorio de origen) – sinelaw

0

¿Qué le parece invocar a powershell desde dentro de cygwin sin llamar a CMD.exe?

Utilice la secuencia de comandos powersh bash - como un contenedor para powershell.exe o como un she-bang en un script .ps1. Ver https://bitbucket.org/jbianchi/powershell

Cuestiones relacionadas