[PS1] PowerShellのプロンプト変更

2011年2月8日

 とりあえずメモ。

 PowerShell。起動するとデフォルトでは以下の様なプロンプトがでます。

PS C:UsersAdministrator>

 コマンドプロンプトでの prompt $p$g 相当ですね。なんですが、これ、長ったらしくて好きでない。特に深いディレクトリに潜るとプロンプトがひたすら長くなって肝心のコマンド入力部分の表示エリアが狭くなって来ます。
 なんで、私はコマンドプロンプトでは、かつての MS-DOS のように prompt $n$g 派で、ドライブ名のみ表示させています。
 それを PowerShell でやろうとどうなるかと言うと以下。

Function Prompt { $(Get-Location).Drive.Name + ">" }

 今まで、prompt $n$g でできてたことにこれだけ書かなくてはならんとは面倒な。とはいえ、デフォルトのままではウザイので憶えることにします…

 ところで、自前のマシンなどで、環境変数に PROMPT=$n$g と設定しておいて、毎度prompt設定をしなくても良い様にする、みたいなことをするには以下でいけます。

1.%SystemRoot%System32WindowsPowerShellv1.0 に profile.ps1 というファイルを作る。
2.そのファイルに、上記の Function Prompt ~ を記載する。

 ただ、PowerShell ではセキュリティ設定でデフォルトでは外部スクリプトファイル(ps1)が実行できない様になっています。ので、一度PowerShellを管理者で実行し、以下のコマンドを入力して、セキュリティ設定を劣化させることで実行できるようになります。

Set-ExecutionPolicy RemoteSigned

 これで、外部スクリプトファイルが動作する様になります。
 Restricted 実行ポリシーについては以下を参照 (表1)
  http://technet.microsoft.com/ja-jp/scriptcenter/ff621345
 ただ、セキュリティが気になる人は、スクリプトファイルに署名を入れるなどの回避策がありますが、その話は割愛ってことで。






カテゴリー: PowerShell, Windows

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org