2012-04-25 14 views
6

Próbuję przenieść niektóre z moich rutynowych operacji powłoki z powershell do cygwin, głównie jako ćwiczenia edukacyjne, ale także dlatego, że naprawdę zaczynam kochać niektóre z narzędzi smakowych Linuksa. Jedną rzeczą, którą wciąż próbuję opracować, jest lista/manipulowanie usługami Windows. PowerShell miał kilka bardzo przydatnych narzędzi do tego, takie jak:Monitoruj usługi Windowsa za pomocą cygwin

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

pracuję z wielu usług niestandardowych ostatnio i chciałbym, aby nie musiał przełączyć się na PowerShell to zrobić w mojej regularnej pracy. Czy ktoś to wymyślił? Kilkakrotne próby Google'a zostały zahamowane przez wiele rzeczy dotyczących radzenia sobie z cygwinem działającym jako usługa.

Każda pomoc/wskazówki mile widziana ...

Odpowiedz

6

Jak o wywoływanie poleceń PowerShell od wewnątrz Cygwin?

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

EDIT a bardziej ogólnie rozwiązaniem byłoby utworzyć skrypt powershell.sh który zawiera:

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

Po czym można uruchomić: ./powershell.sh gsv lub cokolwiek komendy potrzebne.

+0

Niezły. Dzięki! Dodałem wiele tego rodzaju rzeczy do pliku .bashrc. Zgaduję, że zaletą pliku .sh jest utrzymanie porządku w organizacjach? – brettman

+0

Aby zachować porządek, a także ułatwia udostępnianie (w moim przypadku jest to w naszym repozytorium źródłowym) – sinelaw

Powiązane problemy