適材適所

PowerShellを中心にプログラミングやシステム管理の備忘録的なブログ

【PowerShell】プロファイルの中身を確認する【$PROFILE】

PowerShellのプロファイルはユーザーごとにPowerShellをカスタマイズできるのでとっても便利。

私もフル活用しています。

しかし、関数等をちょこちょこ追加していると何を書いたのか忘れてしまうことが多々あります。

というわけで、PowerShellでプロファイルの中身をサクッと確認する方法について紹介していこうと思います。

$PROFILE自動変数

自動変数の$PROFILEにプロファイルのパスが格納されています。

 
$PROFILE

プロファイルはユーザーごと、ホストごとに作成することができます。

ここで言うホストとは、PowerShellのコンソールだったり、PowerShell ISEのことです。

「$PROFILE」とだけ入力すると現在のユーザー、現在のホストのプロファイルのパスが返ってきます。

ちなみに$PROFILE変数には4種類のパスが格納されています。

 
$PROFILE.psobject.Properties|Select-Object name|Where-Object{$_.name -like "*user*"}

結果

Name
----
AllUsersAllHosts
AllUsersCurrentHost
CurrentUserAllHosts
CurrentUserCurrentHost

それぞれユーザーとホストごとにプロファイルが用意されていることが確認できます。

現在のユーザー、現在のホストのプロファイルの中身を見る

Get-Contentコマンドレットに$PROFILE変数を渡してあげれば、プロファイルの中身を表示することができます。

 
Get-Content $PROFILE

全てのプロファイルの中身を一度に確認する

全てのプロファイルの中身を確認しようとするワンライナーです。

 
$PROFILE.psobject.Properties|Select-Object *|Where-Object{$_.name -like "*user*"}|foreach{$_.name;Get-Content $_.value}

各プロファイルはデフォルトでは作成されていません。したがって上記のコマンドもファイルが存在していないプロファイルについてはエラーとなります。

終わりに

プロファイルの中身をサクッと確認する方法について紹介しました。

プロファイルを使えば楽しいPowerShellライフを送れること間違いなし!

ぜひプロファイルを活用して楽しいPowerShellライフを!

というわけで、ここまでお読みいただき、ありがとうございました。

参考

プロファイルについて - PowerShell | Microsoft Docs

`; Array.prototype.forEach.call(document.getElementsByClassName('kijinai_koukoku'),function(d){d.innerHTML=KIJINAI_ADS;}); Array.prototype.forEach.call(document.getElementsByClassName('adsbygoogle'), function(){ (adsbygoogle = window.adsbygoogle || []).push({});}); -->