さて前回の記事で PowerShell v5 をコアとする Windows Management Framework 5.0 Preview September 2014 (v5.0) について紹介しました。
その機能詳細を触りつつ、何が変わるのかお伝えできればと思います。
今回は、まず WMF 5.0 のリリースノートにない機能です。
ついに PowerShell でリモートログイン中に、リモートファイルを直接エディタで編集可能になります。
- 過去の記事はこちら
目次
- 目次
- *nux の ssh ではリモートサーバーのファイルを直接操作できる
- PowerShell v4まではリモート先のファイルを直接エディタ展開編集できなかった
- PowerShell v5 なら ISE上でリモートファイルを直接編集できる
- まとめ
*nux の ssh ではリモートサーバーのファイルを直接操作できる
vimに限りませんが、こんな操作が*nuxでは当然可能です。
ssh testserver # ssh で testserver にログイン vim hoge.log # vim で hoge.log を編集
この時、vim で開く画面は ssh でそのままシームレスに展開されます。
リモートターミナルの中で、新たに画面を立ち上げることなく、シームレスにエディタでファイルを編集する。
ローカルとリモートで変わらないというのは、作業効率でも操作性でもあってほしい機能です。
PowerShell v4まではリモート先のファイルを直接エディタ展開編集できなかった
PowerShell v4 までは、 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:と、思うじゃろ?動作が違うからそうでもない