PowerShell のプロンプトを変更する

PowerShell を利用する際に、コマンドを実行した時刻が記録されると便利だと思うことがあります。
もちろんその都度 Get-Date などを実行してもいいですが、少し面倒です。

そんな時はプロンプト、「PS <パス>>」の部分を変更してしまうと便利です。
まずは現在時刻をプロンプトに表示してみましょう。

Set-Item function:Global:prompt {"PS: $(Get-Date)>"} -force

2016112701

Exchange 管理シェル風に、色を付けることもできます。

Set-Item function:global:prompt {$cwd = (Get-Location).Path; $host.UI.Write("Yellow", $host.UI.RawUI.BackgroundColor, "[PS]"); " $cwd>"}

2016112702

パスが長くなるとコマンドを入力できる文字数が減っていやだというときは、改行してしまうこともできます。

Set-Item function:global:prompt {$host.UI.WriteLine((Get-Location).Path); $host.UI.Write("Yellow", $host.UI.RawUI.BackgroundColor, "[PS]"); ">" }

2016112703

現在のプロンプトの設定を確認するには以下を実行して確認できます。

(Get-Item function:prompt).Definition

元に戻すには PowerShell を再起動します。