從 Linux 終端管理 Windows Powershell
我管理 Windows Server 2012 伺服器。我正在學習 PowerShell 通過命令行管理這些伺服器。我的工作站執行 Ubuntu,我通常通過 SSH 連接來管理 Linux 伺服器。
有沒有一種方法可以讓我從我的 Linux 工作站通過命令行(如 Linux 上的 SSH 訪問)在 Windows 伺服器上使用 Windows PowerShell?
一些選項:
- 在 Windows 機器上安裝 SSH 伺服器,SSH 進去,在 Windows 機器上執行 Powershell
- 在 Linux 上執行 RDP 客戶端,在 RDP 中,在 Windows 機器上執行 Powershell
- 使用Powershell Web Access,用瀏覽器訪問POSH WA網關伺服器,通過瀏覽器執行Powershell
http://technet.microsoft.com/en-us/library/hh831611.aspx
我不知道任何適用於 Linux 的 POSH 執行檔,因此您不能直接從 Linux 中的 shell 執行 POSH 命令 - 您必須首先以某種方式進入 Windows 機器,例如 RDP、遠端控制台(DRAC、iLO)、SSH、或 POSH 網路訪問。
/Edit- 看起來有一些選項。 http://sharpcodenotes.blogspot.com/2014/01/running-powershell-commands-from-linux.html
你可以嘗試讓 OpenWSMan 做你想做的事,但我認為你必須像 URL 請求一樣製作每個命令,而不是簡單地發出正確的 Powershell 命令——正如我所說,Linux 沒有實際的 Powershell。你可以在每台 Windows 機器上安裝 WinRB ruby gem,然後在你的 Linux 機器上執行 Ruby 程式碼來呼叫 Powershell 命令。
在這兩種情況下,您似乎都不會獲得互動式 Powershell 體驗,例如選項卡補全、幫助等。這些似乎是用於執行腳本或單個命令,您可能必須擷取任何錯誤或其他回饋靠自己。你不會在 Linux 上獲得一流的解決方案。
/再次編輯 - 是的,MSDN 說這往往是醜陋/笨重的。即使他給出的簡單/有效的解決方案看起來也沒有樂趣。
儘管 Powershell 遠端處理是建立在 WS-Management 之上的,但它實際上是協議中的一個協議,並且嘗試直接與 PSRP(Powershell 遠端處理協議)互操作基本上需要在客戶端上複製 Powershell。