読者です 読者をやめる 読者になる 読者になる

Converg.

ものづくり関係の備忘録

Windows10設定 (PowerShell)

PowerShell

PowerShellの設定まとめ

設定ファイルパスの確認

下記コマンドによりパスを確認します.

> echo $Profile


パス確認後,設定ファイルがそのパスに存在しない場合は作成し,下記コマンドにより真っ新な設定ファイルを読み込みます.

> . $Profile


「このシステムではスクリプトの実行が無効になっているためファイル (スクリプトファイル) を読み込むことができません。…」云々のエラーが出た場合は,実行ポリシーが原因です.

拡張子ps1のファイルを実行するかどうかは、PowerShellの「実行ポリシー(Execution Policy)」で制御されており,デフォルトではRestrictedに設定されているので,スクリプトの実行ができません.実行ポリシーの詳細説明は下記サイトに譲ります.ちなみに,実行ポリシーは下記コマンドで確認可能です.
Tech TIPS:WindowsでPowerShellスクリプトの実行セキュリティポリシーを変更する - @IT

> Get-ExecutionPolicy


さて,下記にしたがってスクリプトの実行を可能にしていきます.具体的には,実行ポリシーをRemoteSignedに変更します.変更の際はPowerShellを管理者として起動し,下記コマンドを実行してください.権限を本当に変更するかメッセージが出ますが許可します.なお,RemoteSignedのポリシーを確認したうえで変更することをお勧めします

> Set-ExecutionPolicy RemoteSigned


実行ポリシーが変更されたことの確認は上述したコマンドで可能です.
これで設定ファイルの中身を読み込む準備ができたので,次は実際に設定ファイルの中身を作っていきます.

設定ファイルの編集

基本的に,自分の好きなように設定することが可能ですが,簡単な例を次に示します.

<# Settings for PowerShell #>
<#-------------------------------#>
<#--- Settings for PowerShell ---#>
<#-----------2015 by. Torippe ---#>

<#--- cddでデスクトップに移動する ---#>
function cdd(){cd "$home\desktop"}

<#--- 空cdでホームディレクトリに移動する ---#>
<# 1. cdのエイリアスを削除
   2. function cd()を定義
   3. 引数がある場合とない場合で条件分岐
   (有:そこへ移動,無:ホームディレクトリへ移動) #>
<#     1.    #>
if (test-path alias:cd){
  rm alias:cd
  echo "alias:cd is removed. function cd() is created."
}
else {
  echo "alias:cd does not exist. function cd() is created."
}
<# 2. and 3. #>
function cd(){
  if ($args.length -gt 0){
    set-location $args[0]
  }
  else {
    set-location $home
  }
}
<#------------------------------------------#>

上記は,cddでデスクトップに,cdを空打ちするとホームディレクトリに移動する設定ファイルです.

なお,設定ファイルではエイリアスのcdを削除して,新たにfunction cd()を作成しています.

この他にも,設定ファイルには様々な設定を書いておくことが可能です.