
Windows Terminalを使いこなし、プロンプトをカッコよくカスタマイズしたい!と思い立ったものの、標準的な解説記事通りに進めてもエラーばかりで挫折しそうになったことはありませんか?
特にOneDriveで「ドキュメント」フォルダを同期している環境では、PowerShellの設定(プロファイル)が特殊な場所に配置されるため、初心者泣かせの挙動を連発します。
今回は、私がPowerShell 7.6系のカスタマイズで遭遇した「検索してもなかなか解決しなかったエラー」の実例とその解決策、そしてOneDriveの干渉を受けにくい「中継役(リレー)構成」をまとめました。
- 1. 遭遇した具体的なエラーメッセージと原因
- ① Get-PoshThemes is not recognized / 「Get-PoshThemes」コマンドが見つからない
- ② New-Item: Could not find file / プロファイル作成時にファイルが作れない
- ③ Install-Package: Administrator rights are required / インストール時の管理者権限エラー
- ④ CONFIG NOT FOUND / Oh My Posh が赤背景でエラー表示される
- ⑤ running scripts is disabled on this system / スクリプトの実行が無効になっている
- ⑥ oh-my-posh is not recognized / oh-my-posh コマンドが見つからない
- 2. 解決策:OneDriveを回避する「中継役(リレー)方式」
- 3. 完全攻略:ステップバイステップ構築手順
- 4. まとめ:快適なターミナルは構成から
- 参考情報
1. 遭遇した具体的なエラーメッセージと原因
同じエラーで検索してこのページに辿り着いた方は、以下の解決策を確認してください。
① Get-PoshThemes is not recognized / 「Get-PoshThemes」コマンドが見つからない
Get-PoshThemes: The term 'Get-PoshThemes' is not recognized as a name of a cmdlet, function...
原因: Oh My Poshは現在、PowerShellモジュールではなくCLIとして使う構成が主流です。古い記事にある Get-PoshThemes などのコマンドは使えないことがあります。現在は oh-my-posh コマンドを使用します。
② New-Item: Could not find file / プロファイル作成時にファイルが作れない
New-Item: Could not find file 'C:\Users\...\OneDrive\ドキュメント\PowerShell\Microsoft.PowerShell_profile.ps1'.
原因: $PROFILE の親フォルダが存在しない、OneDrive配下の「ドキュメント」フォルダが同期や保護機能の影響を受けている、またはWindowsの「コントロールされたフォルダーへのアクセス」によってPowerShellからの書き込みがブロックされている可能性があります。
なお、PowerShell公式ドキュメントでも、WindowsではDocumentsフォルダがOneDriveやフォルダーリダイレクトの影響を受けることがあり、プロファイルスクリプトやモジュール読み込みのエラー原因になり得ると説明されています。
③ Install-Package: Administrator rights are required / インストール時の管理者権限エラー
Install-Package: Administrator rights are required to install or update.
原因: Install-Module / PowerShellGet v2 系の経路では、環境によってNuGetプロバイダーやインストール先の権限でつまずくことがあります。PowerShell 7系でPSResourceGetが使える環境なら、Install-PSResource や Save-PSResource を使う方がトラブルを避けやすいです。
④ CONFIG NOT FOUND / Oh My Posh が赤背景でエラー表示される
プロンプトに真っ赤な背景で CONFIG NOT FOUND と表示される。 原因: –config に指定したテーマファイルのパスが存在しない、古いOh My Poshモジュール時代の環境変数が残っている、テーマ名の解決に失敗している、OneDrive配下のパス解決や同期状態が不安定、などが考えられます。
⑤ running scripts is disabled on this system / スクリプトの実行が無効になっている
File ...\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system.
原因: PowerShellの実行ポリシーにより、プロファイルスクリプトの読み込みがブロックされています。CurrentUserスコープで RemoteSigned を許可すると解決することがあります。
⑥ oh-my-posh is not recognized / oh-my-posh コマンドが見つからない
oh-my-posh: The term 'oh-my-posh' is not recognized as a name of a cmdlet, function...
原因: Oh My Poshのインストール直後でPATHが反映されていない、wingetのインストール先がPATHに入っていない、またはPowerShellを再起動していない可能性があります。
2. 解決策:OneDriveを回避する「中継役(リレー)方式」
これらの問題をまとめて回避しやすくするのが、「中継役(リレー)方式」です。
3. 完全攻略:ステップバイステップ構築手順
STEP 1:ローカルフォルダの作成(OneDriveを避ける)
まず、セキュリティブロックの影響を受けない場所に「聖域」を作ります。
New-Item -ItemType Directory -Path "$env:USERPROFILE\.powershell" -Force
New-Item -ItemType Directory -Path "$env:USERPROFILE\.powershell\Modules" -Force
STEP 2:ツールのインストール
winget を使って必要なツールをインストールします。Oh My Poshは管理者権限なしでも動くように –scope user を指定します。
winget install JanDeDobbeleer.OhMyPosh --scope user
winget install Neovim.Neovim
winget install ajeetdsouza.zoxide
インストール後、PATHを反映させるためにPowerShellを一度閉じて開き直してください。
STEP 3:モジュールをローカルにインストール
Install-Module ではなく Save-PSResource でローカルフォルダに直接保存します。
# アイコン表示モジュールをローカルに保存
Save-PSResource -Name Terminal-Icons -Path "$env:USERPROFILE\.powershell\Modules"
STEP 3.5:テーマファイル(paradox)を直接ダウンロード
CONFIG NOT FOUND を避けるため、テーマファイルを自分でローカルに置いてしまいます。
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/paradox.omp.json" -OutFile "$env:USERPROFILE\.powershell\paradox.omp.json"
STEP 4:ローカルの設定ファイル(本体)を作成
$env:USERPROFILE.powershell\profile.ps1 を作成し、以下を記述します。これが心臓部です。
# モジュールパスにローカルフォルダを追加(重要!)
$env:PSModulePath = "$env:USERPROFILE\.powershell\Modules;$env:PSModulePath"
# Oh My Posh(ローカルファイルを直接指定)
oh-my-posh init pwsh --config "$env:USERPROFILE\.powershell\paradox.omp.json" | Invoke-Expression
# 各種ツールの初期化
Import-Module -Name Terminal-Icons
Invoke-Expression (& { (zoxide init powershell | Out-String) })
# エイリアス設定
Set-Alias vi nvim
Set-Alias vim nvim
STEP 5:OneDrive側のプロファイルから中継する
最後に、エクスプローラーで $PROFILE の場所(例:OneDrive\ドキュメント\PowerShell)を開き、Microsoft.PowerShell_profile.ps1 を手動で作成します。
$PROFILE の場所は、PowerShellで以下を実行すると確認できます。
$PROFILE
PowerShellから作成できる環境であれば、以下でも作成できます。
New-Item -ItemType Directory -Path (Split-Path -Parent $PROFILE) -Force
New-Item -ItemType File -Path $PROFILE -Force
ただし、OneDrive同期やWindowsセキュリティの「コントロールされたフォルダーへのアクセス」が有効な環境では、PowerShellからの書き込みがブロックされることがあります。その場合は、Windowsセキュリティで pwsh.exe を許可するか、無理にコマンドで作らずエクスプローラーで手動作成する方が確実です。
中身は以下の1行だけです。
. "$env:USERPROFILE\.powershell\profile.ps1"
4. まとめ:快適なターミナルは構成から
多くのユーザーが「OneDrive内のドキュメントフォルダに設定ファイルを置く」という構成で苦しめられています。しかし、今回のように「設定の実体はローカルに、OneDriveは最小限の中継だけ」という構成にすることで、同期トラブルや権限エラーをかなり避けやすくなります。
もし設定中に Set-ExecutionPolicy 関連のエラーが出た場合は、以下のコマンドで実行権限を許可してください。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
自分だけの最強ターミナルで、開発効率を爆上げしましょう!

