さて前回の記事でPowerShell v5をコアとするWindows Management Framework 5.0 Preview September 2014 (v5.0) について紹介しました。 その機能詳細を触りつつ、何が変わるのかお伝えしていきます。
今回は、まずWMF 5.0のリリースノートにない機能です。 ついにPowerShellでリモートログイン中に、リモートファイルを直接エディタで編集可能になります。
- 過去の記事はこちら
- *nuxのsshではリモートサーバーのファイルを直接操作できる
- PowerShell 4.0まではリモート先のファイルを直接エディタ展開編集できなかった
- PowerShell v5からISE上でリモートファイルを直接編集できる
- まとめ
*nuxのsshではリモートサーバーのファイルを直接操作できる
vimに限りませんが、こんな操作が*nuxでは当然可能です。
ssh testserver # ssh で testserver にログイン vim hoge.log # vim で hoge.log を編集
この時、vimで開く画面はsshでそのままシームレスに展開されます。

リモートターミナルの中で、新たに画面を立ち上げることなく、シームレスにエディタでファイルを編集する。
ローカルとリモートで変わらないというのは、作業効率・操作性の両面で重要です。
PowerShell 4.0まではリモート先のファイルを直接エディタ展開編集できなかった
PowerShell 4.0までは、 sshに変わるWSManでのリモートと謳うわりに直接リモート上のファイルをエディタで編集する機能がなかったのです。
これは、とてつもなく苦痛を伴い、また私がもはやEnter-PSSessionを使わない理由の1つでもありました。
PowerShell v5からISE上でリモートファイルを直接編集できる
そう、PowerShell v5のISEならね。要件は1つだけです。
をインストールしてください。
手順
いたって簡単です。
PowerShell ISE を起動

PowerShell.exeではできません。PowerShell ISEからのみ可能です。
Enter-PSSession で対象のサーバーにリモートログインします。
Enter-PSSession -ComputerName "対象のIPやホスト名" -Credential "同じ認証でないならユーザー名/パスワードをPSCredentialで渡す"
例えばこうです。
Enter-PSSession -ComputerName 192.168.11.21 -Credential (Get-Credential)
psedit で対象のファイルを開きます。
psedit "リモート先のファイル名"
例えばこうです。
psedit d:\hoge.log

ISE の別タブにリモートファイルが開かれます! オワリ!
[Remote File]選択したファイル名
の形式で開かれたでしょう!!

もちろん、ふつーにローカルのファイルと同様に操作できます。
保存すれば、リモートファイルが保存されます。
まとめ
これだけ覚えましょう。
1. Enter-PSSession 2. psedit ファイル名
もう、sshでvimを打つたびに悔しがらなくて済む! *1
*1:と、思うじゃろ? 動作が違うからそうでもない