ja-JP/about_Profiles.help.txt

TOPIC
    about_Profiles

簡単な説明
    PowerShell 起動時に実行されるプロファイルスクリプトと、それを使って
    環境をカスタマイズする方法を説明します。

詳細な説明
    PowerShell プロファイルは、PowerShell の起動時に実行されるスタート
    アップスクリプトです。プロファイルをスタートアップスクリプトとして
    使い、環境をカスタマイズできます。コマンド、エイリアス、関数、変数、
    モジュール、PowerShell ドライブなどを追加できます。

    プロファイルは PowerShell セッションのたびに自動的に読み込まれて
    実行されるため、対話型セッションで使用できるすべての要素を追加でき
    ます。

    プロファイルの種類と場所

    PowerShell では、ユーザーとホストプログラムごとに複数のプロファイルが
    サポートされます。ここでの「ホスト」とは、PowerShell を起動する
    プログラム (PowerShell コンソール、PowerShell ISE、Visual Studio
    Code の統合コンソールなど) を指します。

    プロファイルには次の 4 種類があり、優先順位の低いものから順に
    実行されます。

    - すべてのユーザー、すべてのホスト
    - すべてのユーザー、現在のホスト
    - 現在のユーザー、すべてのホスト
    - 現在のユーザー、現在のホスト (最後に実行されます)

    後から実行されるプロファイルは、先に実行されたプロファイルの設定を
    上書きできます。

    各プロファイルの既定のパスは次のとおりです。

    すべてのユーザー、すべてのホスト
        Windows: $PSHOME\Profile.ps1
        Linux: /opt/microsoft/powershell/7/profile.ps1
        macOS: /usr/local/microsoft/powershell/7/profile.ps1

    すべてのユーザー、現在のホスト
        Windows: $PSHOME\Microsoft.PowerShell_profile.ps1
        Linux: /opt/microsoft/powershell/7/Microsoft.PowerShell_profile.ps1
        macOS: /usr/local/microsoft/powershell/7/Microsoft.PowerShell_profile.ps1

    現在のユーザー、すべてのホスト
        Windows: $HOME\Documents\PowerShell\Profile.ps1
        Linux: ~/.config/powershell/profile.ps1
        macOS: ~/.config/powershell/profile.ps1

    現在のユーザー、現在のホスト
        Windows: $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
        Linux: ~/.config/powershell/Microsoft.PowerShell_profile.ps1
        macOS: ~/.config/powershell/Microsoft.PowerShell_profile.ps1

    $PSHOME 変数には PowerShell のインストールディレクトリが格納されて
    います。プロファイルのパスは、ホストプログラムによって異なる場合が
    あります。たとえば PowerShell ISE では、ホスト固有のプロファイル名は
    Microsoft.PowerShellISE_profile.ps1 になります。

    $PROFILE 変数

    $PROFILE 自動変数には、現在の PowerShell セッションで利用できる
    プロファイルのパスが格納されています。4 種類すべてのプロファイルの
    パスを表示するには、次のコマンドを使用します。

        $PROFILE | Select-Object *

    $PROFILE 変数には次のメモが含まれます。

    - $PROFILE は、既定では「現在のユーザー、現在のホスト」プロファイルの
      パスを保持します。
    - $PROFILE.CurrentUserCurrentHost は、現在のユーザー、現在のホストの
      プロファイルのパスです。
    - $PROFILE.CurrentUserAllHosts は、現在のユーザー、すべてのホストの
      プロファイルのパスです。
    - $PROFILE.AllUsersCurrentHost は、すべてのユーザー、現在のホストの
      プロファイルのパスです。
    - $PROFILE.AllUsersAllHosts は、すべてのユーザー、すべてのホストの
      プロファイルのパスです。

    プロファイルの作成方法

    プロファイルのパスはファイルを表しますが、そのファイルは既定では
    存在しません。プロファイルを作成するには、対応するパスにテキスト
    ファイルを作成します。

    たとえば、現在のユーザー、現在のホストのプロファイルを作成するには、
    次のコマンドを実行します。このコマンドは、プロファイルが既に存在する
    場合は上書きしません。

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

    別のプロファイルを作成するには、$PROFILE のプロパティでパスを
    指定します。たとえば、すべてのユーザー、すべてのホストのプロファイル
    を作成するには、次のコマンドを実行します。

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

    注: すべてのユーザー向けのプロファイルを作成または編集するには、
    管理者権限が必要です。

    プロファイルの編集方法

    プロファイルは任意のテキストエディターで編集できます。たとえば、
    Windows では次のコマンドでメモ帳を使ってプロファイルを開けます。

        notepad $PROFILE

    プロファイルを編集したら、変更を有効にするために PowerShell を
    再起動するか、次のコマンドでプロファイルを再読み込みします。

        . $PROFILE

    プロファイルなしで PowerShell を起動する

    プロファイルを読み込まずに PowerShell を起動するには、pwsh の
    -NoProfile パラメーターを使用します。

        pwsh -NoProfile

    その他の考慮事項

    - 既定では、リモートセッションではプロファイルは自動的に実行され
      ません。そのため、リモートセッションではプロファイルで追加した
      コマンドは利用できません。
    - 実行ポリシーは、プロファイルが実行されるかどうかに影響します。
      実行ポリシーが Restricted の場合、プロファイルスクリプトは実行
      できません。詳細については about_Execution_Policies を参照して
      ください。
    - MSIX 形式でインストールした PowerShell では、現在のユーザーの
      プロファイルのみがサポートされます。

    プロファイルでできることの例

    プロファイルに次のような項目を追加して環境をカスタマイズできます。

        # エイリアスを追加します
        Set-Alias -Name np -Value notepad.exe

        # 関数を追加します
        function Get-Uptime {
            (Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
        }

        # PSReadLine の設定を変更します
        Set-PSReadLineOption -PredictionSource History

        # 起動時の作業ディレクトリを設定します
        Set-Location -Path $HOME

関連項目
    about_Automatic_Variables
    about_Execution_Policies
    about_Functions
    about_Remote
    about_Signing

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP