エイリアス、関数、および変数を追加しても、実際にはそれらを現在の Windows PowerShell セッションに追加しているだけです。セッションを終了するか、Windows PowerShell を閉じると、その変更は失われてしまいます。

これらの変更を保持するためには、Windows PowerShell プロファイルを作成し、エイリアス、関数、および変数をプロファイルに追加します。プロファイルは、Windows PowerShell を起動するたびに読み込まれます。

プロファイルが読み込まれるようにするには、Windows PowerShell 実行ポリシーで構成ファイルの読み込みが許可されている必要があります。実行ポリシーが適切に設定されていないと、プロファイルの読み込み処理が失敗し、Windows PowerShell はエラー メッセージを表示します。

プロファイルについて

Windows PowerShell では、4 つの異なるプロファイルを使用できます。以下に、読み込まれる順にプロファイルを示します。プロファイルは、該当箇所では具体性の高いものから順に優先されます。

  • %windir%\system32\WindowsPowerShell\v1.0\profile.ps1

    このプロファイルは、すべてのユーザーおよびすべてのシェルに適用されます。

  • %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1

    このプロファイルは、すべてのユーザーに適用されますが、Microsoft.PowerShell シェルのみに適用されます。

  • %UserProfile%\My Documents\WindowsPowerShell\profile.ps1

    このプロファイルは、現在のユーザーのみに適用されますが、すべてのシェルに作用します。

  • %UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

    このプロファイルは、現在のユーザーと Microsoft.PowerShell シェルのみに適用されます。

プロファイルの作成

変数、エイリアス、または関数を作成またはインポートしたり、Windows PowerShell スナップインを追加したりした場合、それらの要素は現在のセッションにのみ追加されます。セッションを終了するか、ウィンドウを閉じると、その変更は失われてしまいます。

いつも使用する変数、エイリアス、関数、およびコマンドを保存しておき、すべての Windows PowerShell セッションで使用可能にするには、それを Windows PowerShell プロファイルに追加します。

また、プロファイルを作成し、共有および配布することによって、大規模なエンタープライズ内で Windows PowerShell の表示に一貫性を持たせることができます。

Windows PowerShell プロファイルは自動的には作成されません。プロファイルを作成するには、指定された名前を持つテキスト ファイルを指定された場所に作成する必要があります。通常は、Windows PowerShell "ユーザー プロファイル" と呼ばれる、ユーザーとシェルに固有のプロファイルを使用します。このプロファイルの場所は、$profile 変数に格納されます。

Windows PowerShell プロファイルのパスを表示するには、次のように入力します。

$profile

システム上に Windows PowerShell プロファイルが作成されているかどうか判断するには、次のように入力します。

test-path $profile

プロファイルが存在する場合は True が返され、存在しない場合は False が返されます。

Windows PowerShell プロファイル ファイルを作成するには、次のように入力します。

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

プロファイルをメモ帳で開くには、次のように入力します。

notepad $profile

他のプロファイル (たとえば、すべてのユーザーとすべてのシェルに適用されるプロファイル) を作成するには、次のように入力します。

new-item -path $env:windir\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force

プロファイルが有効となるのは、正確なパスにファイルが置かれ、そのファイルに $profile 変数に格納されているファイル名が付けられている場合のみです。そのため、メモ帳でプロファイルを作成して保存する場合、またはシステムにプロファイルをコピーする場合は、$profile 変数で指定されているファイル名を使用して、正確なパスにファイルを保存してください。

メモ帳でプロファイルを作成する場合、PS1 ファイル名拡張子を保持するために、ファイル名を引用符で囲みます。次にその例を示します。

"Microsoft.PowerShell_profile.ps1"

引用符を付けないと、ファイル名拡張子 .txt がメモ帳によってファイルに追加されてしまい、その結果、Windows PowerShell がこのファイルを認識できなくなります。

プロファイルには、日常的に使用するエイリアス、関数、および変数を格納できます。常用しているテキスト エディターでユーザー プロファイルを開けるようにしておくと、非常に便利です。たとえば、メモ帳でユーザー プロファイルを開く pro という名前の関数を作成するには、次のコマンドを入力します。

function pro { notepad $profile }

正しく設計したプロファイルを使用すると、Windows PowerShell の操作やシステムの管理が容易になります。




目次