Windows Server 2012サーバーを管理しています。コマンドラインを介してこれらのサーバーを管理するPowerShellを学んでいます。私のワークステーションはUbuntuを実行しており、通常はSSH経由で接続することでLinuxサーバーを管理しています。
LinuxワークステーションからWindowsサーバーでWindows PowerShellをLinux上のSSHアクセスのようなコマンドライン経由で使用する方法はありますか?
Windows Server 2012サーバーを管理しています。コマンドラインを介してこれらのサーバーを管理するPowerShellを学んでいます。私のワークステーションはUbuntuを実行しており、通常はSSH経由で接続することでLinuxサーバーを管理しています。
LinuxワークステーションからWindowsサーバーでWindows PowerShellをLinux上のSSHアクセスのようなコマンドライン経由で使用する方法はありますか?
回答:
いくつかのオプション:
http://technet.microsoft.com/en-us/library/hh831611.aspx
Linux用のPOSH実行可能ファイルは知らないので、Linuxのシェルから直接POSHコマンドを実行することはできません-まず、RDP、リモートコンソール(DRAC、iLO)、SSH、またはPOSH Web Access。
/ Edit-にはいくつかのオプションがあるように見えます。 http://sharpcodenotes.blogspot.com/2014/01/running-powershell-commands-from-linux.html
あなたはOpenWSManにあなたがやりたいことを試してもらうことができますが、正しいPowershellコマンドを発行するだけでなく、URLリクエストのようなすべてのコマンドを作成する必要があると思います-私が言ったように、Linux用の実際のPowershellはありません。WinRB ruby gemをすべてのWindowsマシンにインストールし、LinuxボックスでRubyコードを実行してPowershellコマンドを呼び出すことができます。
どちらの場合も、タブ補完、ヘルプなどのインタラクティブなPowershell体験が得られるようには見えません。これらはスクリプトや単一のコマンドを実行するためのもので、エラーやその他のフィードバックをキャプチャする必要があります自分で。Linuxで一流のソリューションを得ることはできません。
/再度編集-はい、MSDNは、これはい/不格好になる傾向があると言います。彼が提供するシンプルで効果的なソリューションでさえ、面白くないように見えます。
PowershellリモーティングはWS-Managementの上に構築されますが、これは実際にはプロトコル内のプロトコルであり、PSRP(Powershell Remoting Protocol)と直接相互運用するには、基本的にクライアントでPowershellを複製する必要があります。
Once you have a shell on a Windows box you can use Powershell Remoting.
-これにより、ほぼ確実に2ホップ認証の問題が発生することに注意してください。ほとんどの場合、CredSSP認証を使用する必要があります。
Microsoftは、LinuxおよびOSXでPowershellを正式にリリースしています。2016年8月の発表をご覧ください。PowerShellはオープンソースであり、Linuxで利用可能です
現在はアルファ版です。UbuntuとCentosが正式にサポートされています。冒険好きなら、インストール手順はこちらから入手できます:https : //github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md
はい、2つのオプションがあります:
SSHdサーバーをWindowsおよびPowerShellの設定パスにインストールできます。
このため、SSHdのインストールおよび PowerShellパスの構成に関するチュートリアルを使用できます。
要するに:
PowerShell Web Access(Win Server 2012 R2のみ)
Technetに1つのチュートリアルがあります-blogs.technet.com/b/canitpro/archive/2013/11/14/step-by-step-deploy-powershell-web-access.aspx
Ubuntu 14.04 LTSでテスト済み
winexeをダウンロードしてインストールします。
wget https://passing-the-hash.googlecode.com/files/winexePTH1.1.0-1.deb
dpkg -i winexePTH1.1.0-1.deb
基本的な使い方
winexe -U DOMAIN/USERNAME%PASSWORD //MACHINEIP "cmd.exe"
例として:
echo -ne '\n' | winexe -U DOMAIN/USERNAME%PASSWORD //IP 'powershell.exe -command "Get-Process | Select-Object Name, ProcessName"' | sort -u
win32-openSSHは、https://github.com/PowerShell/Win32-OpenSSHから手動でインストールすることも、Chocolatey https://chocolatey.org経由でインストールすることも、Boxstarter(フードの下でChocolateyを利用する)https://でインストールすることもできます。 boxstarter.org(高速インストールhttps://boxstarter.org/packages/nr/win32-openssh)。
少しセットアップが必要ですが、PowerShellを実行しているMicrosoftのスタッフが管理しているネイティブ(そう、本当です!)win32ポートです。
そうでなければ、誰かが述べたように、WinRM gemをLinuxにインストールし、WinRMプロトコルを介して少しの接続を得ることができますが、それはPSSessionを開始するほど良くありません。
さらに、WinRM gem(WinRb)の背後にいる人々は、PowerShellをWinRM経由でトンネルする、よりネイティブなPowerShell相互作用の実装も検討しています。このブログ投稿、http://www.hurryupandwait.io/blog/a-look-under-the-hood-at-powershell-remoting-through-a-ruby-cross-plaform-lenを参照してください