PowerShell

PowerShellのプロンプト表示を自由にカスタムする方法

今回は、PowerShellのプロンプト表示をカスタマイズする方法についてまとめます。

主に参考にしたのはこちらの本です。

一応日本語版もあるのですが、2008年に出版されたもので、最新版は翻訳されていないため、英語で読むのがいいと思います。

PowerShellのプロンプト表示をカスタマイズする

では早速ここからPowerShellに入門していきます。

まずは、プロンプトの表示をシンプルにしてあげましょう。
初期状態では、以下のように "PS [カレントディレクトリ]"の表示になっているかと思います。

PS C:\Users\yuki> 

ここで、次のように入力することで、カレントディレクトリの表示を削除することができます。

PS C:\Users\yuki> function Prompt { "PS > " }
PS >

この状態から元に戻すには、以下のように入力します。

PS > function prompt { "PS " + $(Get-Location) + "> " }

これで、表記は元に戻ります。

次に、別のコマンドを使って表示をカスタマイズしてみましょう。

以下のコマンドを入力すると、$(echo "test") の出力がプロンプトに表示されるようになります。

PS C:\Users\yuki> function prompt { "PS " + $(echo "test") + "> " }
PS test>

上記の手法を用いることで、PowerShellのプロンプト表示を自由に変更することができるようになります。

ちなみに、カレントディレクトリを表示するために使用したGet-Locationには、同様の命令を指すエイリアスが、ほかに2つあります。

それは、glとpwdです。

そのため、以下のように入力しても、Get-Locationを使用した時と同様、プロンプトにはカレントディレクトリが表示されます。

PS C:\Users\yuki> function prompt {
>> "PS " + $(pwd) + "> " }

PS C:\Users\yuki> function prompt {
>> "PS " + $(gl) + "> " }

PS C:\Users\yuki>

これらのエイリアスですが、果たしてすべて知っておく必要があるのか、という疑問があります。
実際に使用するのが自分だけであれば、正直1つだけでも十分かなと思います。

しかしながら、セキュリティの領域でPowerShellを使っていこうという場合には、すべてのエイリアスを頭に入れておく必要があるようです。

自分が使用しないエイリアスでも、攻撃者が使用しているかもしれない、攻撃者の狙いを把握するためにも理解が必要、ということのようです。

詳しくは以下の記事を参照しました。

大和セキュリティ勉強会でPowerShellの基礎を学ぶ · Akaki I/O

まとめ

今回はプロンプトの表記を変える方法と、エイリアスについて触れました。

PowerShellはOSS化されており、WindowsだけでなくLinuxやMacOSでもパワフルに使えるシェルスクリプトなので、今後もっともっと学んでいきたいと思います。

COMMENT

メールアドレスが公開されることはありません。