XGitHub

Windows PowerShell $PROFILEの場所と設定方法

Published Icon
2025-07-20
Tag Icon

PowerShell $PROFILE とは?

PowerShell $PROFILEは、PowerShell が起動するたびに自動実行される設定ファイルです。ここにエイリアス、関数、環境変数、モジュールの読み込みなどを記述することで、PowerShell を自分好みにカスタマイズできます。

$PROFILE ファイルの場所を確認する

まずは、あなたの環境での$PROFILEの場所を確認してみましょう。

$PROFILE

このコマンドを実行すると、通常は以下のようなパスが表示されます:

C:\Users\[ユーザー名]\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
or
C:\Users\[ユーザー名]\OneDrive\ドキュメント\PowerShell\Microsoft.PowerShell_profile.ps1

NOTE

Windows PowerShell 5.1 を使用している場合は、以下のパスになります:

C:\Users\[ユーザー名]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

PowerShell プロファイルの種類

実は、PowerShell には複数のプロファイルファイルが存在します。すべてのプロファイルの場所を確認するには:

$PROFILE | Get-Member -Type NoteProperty

主要なプロファイルの種類:

  • CurrentUserCurrentHost ($PROFILE): 現在のユーザー・現在のホスト用(最も一般的)
  • CurrentUserAllHosts: 現在のユーザーの全 PowerShell ホスト用
  • AllUsersCurrentHost: 全ユーザー・現在のホスト用
  • AllUsersAllHosts: 全ユーザー・全ホスト用

通常は$PROFILE(CurrentUserCurrentHost)を使用すれば十分です。

プロファイルファイルの操作方法

1. プロファイルの存在確認

まず、プロファイルファイルが既に存在するかチェックします:

Test-Path $PROFILE

Trueが返れば既に存在し、Falseの場合は作成が必要です。

2. プロファイルの作成

プロファイルファイルが存在しない場合は、以下のコマンドで作成できます:

if (!(Test-Path $PROFILE)) {
    New-Item -ItemType File -Path $PROFILE -Force
}

3. プロファイルの編集

プロファイルファイルを編集する方法はいくつかあります:

# メモ帳で開く
notepad $PROFILE
 
# Visual Studio Codeで開く
code $PROFILE
 
# Neovimで開く(インストール済みの場合)
nvim $PROFILE

4. プロファイルフォルダを開く

プロファイルが保存されているフォルダをエクスプローラーで開くには:

explorer (Split-Path $PROFILE)

実際のフォルダ構造

プロファイルファイルは以下のような構造で保存されています:

C:\Users\[ユーザー名]\Documents\PowerShell\
├── Microsoft.PowerShell_profile.ps1    # メインプロファイル
├── Modules\                             # カスタムモジュール
└── Scripts\                             # カスタムスクリプト

プロファイルの設定例

実際のプロファイル設定例をご紹介します。以下のコードを$PROFILEファイルに追加してみてください:

# =================================
# エイリアス設定
# =================================
Set-Alias -Name vi -Value nvim
Set-Alias -Name vim -Value nvim
Set-Alias -Name ll -Value Get-ChildItem
Set-Alias -Name grep -Value Select-String
 
# =================================
# カスタム関数
# =================================
# wingetとripgrepの連携
function wls { winget list | rg -i $args }
 
# Yaziでファイルマネージャー起動
function y { yazi $args }
 
# =================================
# 環境変数設定
# =================================
$env:EDITOR = "nvim"
 
# =================================
# プロンプトカスタマイズ(オプション)
# =================================
function prompt {
	$currentPath = Split-Path -Leaf -Path (Get-Location)
	"PS $currentPath> "
}
 
# =================================
# モジュール読み込み
# =================================
# PSReadLine(PowerShell拡張)
if (Get-Module -ListAvailable -Name PSReadLine) {
	Import-Module PSReadLine
	Set-PSReadLineOption -EditMode Emacs
	Set-PSReadLineKeyHandler -Key Tab -Function Complete
}
 
# =================================
# 起動時メッセージ
# =================================
Write-Host "PowerShell Profile loaded successfully!" -ForegroundColor Green
Write-Host "Available custom commands: wls, wls-dev, y, codehere" -ForegroundColor Yellow

プロファイルの反映方法

プロファイルを編集した後、変更を反映するには以下の方法があります:

1. PowerShell を再起動

最も確実な方法は、PowerShell を一度終了して再度起動することです。

2. プロファイルを手動で再読み込み

# 方法1
. $PROFILE
 
# 方法2
& $PROFILE

よくある問題と解決方法

実行ポリシーエラー

プロファイルスクリプトが実行できない場合は、実行ポリシーを変更する必要があります:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

プロファイルが見つからない

PowerShell Core と Windows PowerShell でプロファイルの場所が異なります。使用している PowerShell のバージョンを確認してください:

$PSVersionTable.PSVersion

参考サイト

yaziのインストール方法と初期設定
faviconzenn.dev
ogp