PowerShellでプロファイルを作成する方法

公開日:  

powershell


PowerShellでプロファイル(profile)を作成しておくと、PowerShellの起動時に読み込んでくれます。
使用する頻度の高い処理をエイリアスや関数にしてプロファイルに保存しておけば、作業効率もUPすること間違いなしです。

プロファイルというのは拡張子が.ps1のファイルです。そのファイルにPowerShellのコマンドを記述できます。

環境

  • Windows 10 Pro
  • PowerShell 5.1

実行権限

PowerShellはデフォルトではps1ファイルを実行できないようになっています。
なので、以下を管理者で実行して権限を変更します。これでps1ファイルを実行できます。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

プロファイルの作成

プロファイルは自分で作成する必要があります。

次のように入力してプロファイルが作成される場所を確認してください。

$profile

プロファイルのパスが表示されますが、既にそこに存在するというわけではありません。
プロファイルが既に作成されているか確認するには以下を入力してください。

test-path $profile

プロファイルが存在しているかどうかをTrue/Falseで返します。

プロファイルが存在しなければ、作成しないといけません。
以下を入力して、プロファイルを作成してください。

new-item -path $profile -itemtype file -force

私の環境ではMicrosoft.PowerShell_profile.ps1というファイルが作成されました。

プロファイルが作成された

プロファイルが作成された

起動時にプロファイルがちゃんと読み込まれるかどうか確認しましょう。作成されたプロファイルを開いて以下を入力してください。
注意点としてプロファイルの文字コードはBOM付き(BOM付きUTF-8など)にしてください(メモ帳で編集する場合は気にしなくていいと思います)。

# 動作確認です
Get-Host

PowerShellを起動してみてください(既に起動している場合は再起動してください)。
起動と同時にGet-Hostの内容が表示されればプロファイルの読み込みに成功しています。

あとはここに自分の好きなようにエイリアスや関数を追加していけば、PowerShellを起動したときにはそれらが使えるようになっています。

プロファイルを分離して読み込む

一つのプロファイルに処理をだらだら記述していくと管理が難しくなってくると思います。
プロファイルを複数のps1ファイルに分けて、実行時にはそれらをそれぞれ読み込むことで、いい感じになります。

大元のプロファイルには以下だけを記述します。

# 読み込みたいps1スクリプトの保存場所
$psdir="C:\Users\xxxx\Documents\WindowsPowerShell\autoload"

# 保存場所にある全てのps1スクリプトを読み込む
Get-ChildItem "${psdir}\*.ps1" | %{.$_}

上の例ではautoloadというフォルダを作成してそこにps1ファイルを(複数)保存しておき、メインのプロファイルでそれらを読み込んでいます。

プロファイルを'autoload'する

プロファイルを'autoload'する

これでps1ファイルを分けて記述できるようになって、管理がしやすくなります。

まとめ

今回はプロファイルの作成方法を説明しました。
プロファイルに、よく使うコマンドのエイリアスや、一連の処理をひとまとめにした関数などを記述しておき、作業効率を上げましょう。



関連記事