Zarządzam serwerami Windows Server 2012. Uczę się PowerShell do zarządzania tymi serwerami za pomocą wiersza poleceń. Na mojej stacji roboczej działa Ubuntu i zwykle zarządzam serwerami Linux, łącząc się przez SSH.
Czy istnieje sposób, aby używać Windows PowerShell na serwerach Windows z mojej stacji roboczej Linux poprzez wiersz poleceń, taki jak dostęp SSH w systemie Linux?
Odpowiedzi:
Niektóre opcje:
http://technet.microsoft.com/en-us/library/hh831611.aspx
Nie znam żadnych plików wykonywalnych POSH dla Linuksa, więc nie możesz uruchamiać poleceń POSH bezpośrednio z powłoki w Linuksie - najpierw musisz jakoś dostać się na maszynę Windows, jak RDP, zdalna konsola (DRAC, iLO), SSH, lub POSH Web Access.
/ Edytuj - wygląda na to, że jest kilka opcji. http://sharpcodenotes.blogspot.com/2014/01/running-powershell-commands-from-linux.html
Możesz spróbować nakłonić OpenWSMan do robienia tego, co chcesz, ale myślę, że będziesz musiał stworzyć każdą komendę jak żądanie adresu URL, zamiast po prostu wydać poprawną komendę Powershell - jak powiedziałem, nie ma w rzeczywistości Powershell dla Linuksa. Możesz zainstalować klejnot Ruby WinRB na każdym komputerze z systemem Windows, a następnie uruchomić kod Ruby na swoim Linux-ie, aby wywołać polecenia PowerShell.
W żadnym wypadku nie wydaje się, że otrzymasz interaktywne środowisko Powershell, takie jak uzupełnianie tabulatorów, pomoc itp. Wydaje się, że służą one do uruchamiania skryptu lub pojedynczego polecenia i prawdopodobnie będziesz musiał wychwycić wszelkie błędy lub inne opinie samemu. Nie dostaniesz pierwszorzędnego rozwiązania w systemie Linux.
/ Edytuj ponownie - tak, MSDN mówi, że będzie to brzydkie / niezgrabne. Nawet proste / skuteczne rozwiązanie, które daje, nie wydaje się zabawne.
źródło
Once you have a shell on a Windows box you can use Powershell Remoting.
- Pamiętaj, że prawie na pewno napotkasz na to problem uwierzytelnienia 2-przeskokowego. Prawie na pewno będziesz musiał użyć uwierzytelnienia CredSSP.Microsoft oficjalnie wypuszcza Powershell na Linux i OSX. Zobacz ogłoszenie z sierpnia 2016 r .: PowerShell jest open source i jest dostępny w systemie Linux
Obecnie jest w wersji alfa. Ubuntu i Centos są oficjalnie wspierane, więcej w drodze. Jeśli masz ochotę na przygodę, instrukcje instalacji są dostępne tutaj: https://github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md
źródło
Tak, masz 2 opcje:
Możesz zainstalować serwer SSHd w systemie Windows oraz w konfiguracji skonfigurować ścieżkę do PowerShell.
W tym celu możesz skorzystać z samouczka instalacji SSHd i konfiguracji ścieżki PowerShell.
W skrócie:
PowerShell Web Access (tylko Win Server 2012 R2)
Tam masz jeden samouczek na Technet - blogs.technet.com/b/canitpro/archive/2013/11/14/step-by-step-deploy-powershell-web-access.aspx
źródło
Testowane w Ubuntu 14.04 LTS
Pobierz i zainstaluj winexe:
Podstawowe użycie
Jako przykład:
źródło
Możesz również zainstalować win32-openSSH ręcznie z https://github.com/PowerShell/Win32-OpenSSH lub przez Chocolatey https://chocolatey.org lub jeszcze szybciej przez Boxstarter (który wykorzystuje Chocolatey pod maską) https: // boxstarter.org (szybka instalacja https://boxstarter.org/packages/nr/win32-openssh ).
To wymaga trochę konfiguracji, ale jest to macierzysty (tak, na prawdę!) Port win32 obsługiwany przez facetów Microsoftu wykonujących PowerShell.
W przeciwnym razie, jak ktoś wspomniał, możesz zainstalować klejnot WinRM w systemie Linux i uzyskać trochę łączności przez protokół WinRM, ale to nie jest tak przyjemne, jak rozpoczęcie PSSession.
Dodatkowo, ludzie stojący za klejnotem WinRM (WinRb) również zastanawiają się nad implementacją bardziej natywnej interakcji PowerShell, która tuneluje PowerShell nad WinRM, która będzie bardziej funkcjonalna dla przesyłania i szybsza dla innych operacji. Zobacz ten post na blogu, http://www.hurryupandwait.io/blog/a-look-under-the-hood-at-powershell-remoting-through-a-ruby-cross-plaform-len
źródło