Uwielbiam zapach nowych maszyn rano.
Automatyzuję proces tworzenia maszyn, który obejmuje kilka osobnych systemów w całej mojej infrastrukturze, z których niektóre obejmują 15-letnie skrypty perla na hostach Solaris, systemach Linux PXE Booting i Powershell w systemie Windows Server 2008.
Mogę napisać skrypt do każdej z poszczególnych części, a integracja automatyzacji Linuksa i Uniksa jest dość prosta, ale nie mam pewności, jak w sposób niezawodny powiązać skrypty PowerShell z resztą procesów.
Wolałbym, aby proces rozpoczął się na hoście Linux, ponieważ wyobrażam sobie, że skończy się jako aplikacja internetowa żyjąca na serwerze Apache, ale jeśli trzeba rozpocząć w systemie Windows, z wahaniem się z tym zgadzam.
Idealnie chciałbym, aby coś w stylu psexec działało pod Linuksem przeciwko Windowsowi, ale odpowiedź w tym kierunku wydaje się Cygwin i chociaż doceniam całą ciężką pracę, jaką włożyli, nigdy nie wydawało się to właściwe , Jeśli wiesz co mam na myśli. Jest świetny na komputery stacjonarne i daje wiele funkcji, ale uważam, że serwery Windows powinny być traktowane jak serwery Windows, a nie zepsute maszyny uniksowe (nawiasem mówiąc, to też mój argument przeciwko serwerom OSX, a tak naprawdę są one Uniksami) . W każdym razie nie chcę iść z Cygwinem, chyba że jest to ostatnia i jedyna opcja.
Myślę więc, że pytam, czy istnieje sposób wykonywania zadań na komputerach z systemem Windows z poziomu systemu Linux. Bez Cygwina. Jestem otwarty na pomysły i sugestie, w tym „Spójrz idioto, wszyscy używają Cygwina, więc zrób to i zajmij się tym”. Z góry dziękuję!
źródło
Możesz także kupić oprogramowanie do planowania lub automatyzacji przepływu pracy na różnych platformach, które może uruchamiać natywne skrypty na wielu hostach w zależności od wcześniejszych działań, a nawet ich zwróconych wyników. Duże przedsiębiorstwa używają oprogramowania takiego jak Tivoli, UC4, Espresso (teraz CA dSeries), a ja korzystałem z niego w dużych przedsiębiorstwach, które musiały to robić. Do Twojej wiadomości, często mają natywne wsparcie dla zadań takich jak Oracle, aby dać ci wyobrażenie o cenach, na które możesz patrzeć.
(W moim ostatniego zadania, ale także używane Cygwin w każdym razie , tak aby mogły one korzystać z tych samych skryptów Perl bez modyfikacji podczas obciążenia przenoszone pomiędzy platformami. Dużo zabawy).
Możesz także spróbować zbudować własny, jak sugeruje @ sysadmin1138; byłby to zabawny projekt, a może nawet okazać się wystarczająco solidny, aby był użyteczny i nie sprawił, że pojawi się strona o drugiej w nocy, gdy eksport finansowy nie powiedzie się przy pierwszej próbie.
źródło
Chciałbym użyć funkcji Powershell Web Access wprowadzonej w Powershell v3.0. Pozwala to na używanie skryptów Powershell z hosta Linux.
źródło
Serwer PowerShell umożliwia SSH do serwera Windows i uzyskanie konsoli PowerShell. Nie korzystałem z niego poza bezpłatną wersją próbną, ale moje nieformalne użycie udowodniło mi, że był to dość niezawodny produkt.
źródło
Jak obrzydliwie chcesz się potem poczuć, bo zawsze jest telnet :)
Poważnie, ale dlaczego serwer Linux ma wywoływać skrypt PowerShell? Czy możesz przeprojektować swój przepływ pracy, aby serwer Linux po prostu dostarczył prawidłowy obraz boot.wim za pośrednictwem tftp do hosta uruchomionego w PXE? W przeszłości miałem szczęście utrzymywania obrazu Windows z różnymi plikami odpowiedzi na serwerze plików Windows i dostarczania niestandardowego obrazu rozruchowego WinPE przy użyciu tftpd z hosta Linux. Następnie możesz mieć plik odpowiedzi wywołujący poprawny skrypt PowerShell i nie musisz radzić sobie z wieloplatformowymi szczękami, takimi jak Cygwin.
źródło
Możesz użyć czegoś takiego jak nrpe do zdalnego wykonania skryptu PowerShell na hoście Windows. Możesz zmodyfikować skrypty PowerShell, aby zwracały kody wyjścia zgodnie z oczekiwaniami nrpe, ale nie ma powodu, dla którego nie możesz wywoływać check_nrpe ze swoich skryptów na hoście Linux.
źródło
Czy na temat hacków sprzecznych z intuicją rozważałeś nadużywanie oprogramowania Continuous Integration jako wieloplatformowego narzędzia orkiestracyjnego?
Zainstaluj wzorzec CI tam, gdzie jest to najwygodniejsze, zainstaluj agenta na swoim komputerze z systemem Windows ( to lub to ), skonfiguruj zadanie do wykonania skryptu PowerShell (bezpośrednio wywołując go za pomocą konfiguracji polecenia wsadowego Windows lub używając wtyczki, jeśli chcesz do pisania / przechowywania skryptu w aplikacji CI) na agencie Windows i uruchamiania zadania zdalnie przez zawijanie lub podobne.
źródło
Pracuję w dużym przedsiębiorstwie, w którym ten problem jest częsty. W przypadku procesów, które obecnie wspieramy, naszym podejściem jest, aby systemy uniksowe wykonywały połączenia internetowe z „administracyjnym” serwerem Windows, na którym działa ColdFusion na IIS. Mamy klasy i funkcje uruchamiane z żądań GET, które używają dyrektywy „cfexecute” do uruchamiania określonych skryptów PowerShell. To brzydkie, ale działa. Przyglądamy się funkcjom usługi PowerShell v3 Web Service, aby zrezygnować z działania ColdFusion jako pośrednika.
źródło