永続的な PowerShell エイリアスを作成する方法 質問する

永続的な PowerShell エイリアスを作成する方法 質問する

aliasPowershell の現在のセッションを閉じた後も期限切れにならないを作成したいのですcmdletが、次のエイリアスがあるとします。

C:\Users\Aymen> New-Alias Goto Set-Location

これによりGotoエイリアスは完璧に作成されますが、現在のセッションを閉じた後もそれを使用したいのですが、どうすれば実現できますか。

注記:

PowerShell ヘルプ システムでは、作成したエイリアスをエクスポートして、次回新しいセッションを開いたときにインポートできると示されていますが、実際にはそれは私が探しているものではありません。異なるセッションでエイリアスを作成した後、それを保持するための直接的で明確な方法はありますか。

ベストアンサー1

更新日 - 2021年1月

PowerShellを起動するたびに実行されるPowerShellコードをファイルに保存することができますprofile.ps1。少なくとも6つの異なるパスどのユーザーが実行する必要があるかに応じて、コードを保存する場所。ここでは、「すべてのユーザー」パスと「自分のユーザーのみ」パスの 2 つだけを検討します (その他のオプションについては、前のリンクを参照してください)。

質問に答えるには、profile.ps1実行したいコードを含むファイルを作成するだけです。つまり、次のようになります。

New-Alias Goto Set-Location

適切なパスに保存します。

  • "$Home\Documents"(通常はC:\Users\<yourname>\Documents): ユーザーのみがコードを実行します。これが推奨される場所です。PowerShell実行すると、プロファイルの場所をすばやく見つけることができます。echo $profile
  • $PsHomeC:\Windows\System32\WindowsPowerShell\v1.0):すべてのユーザーがこのコードを実行します

重要: 変更を適用するには、PowerShell インスタンスを再起動する必要があることに注意してください。

チップ

  • 両方のパスにprofile.ps1ファイルが含まれている場合、すべてのユーザーのファイルが最初に実行され、次にユーザー固有のファイルが実行されました。つまり、重複または競合が発生した場合、ユーザー固有のコマンドによって変数が上書きされます。

  • すべてのユーザーに実行を拡張する必要がない場合は、常にユーザー固有のプロファイルにコードを配置します。他のユーザーのスペースを汚染しないため、この方が安全です (通常、これは望ましくありません)。
    もう 1 つの利点は、ユーザー スペースにファイルを追加するのに管理者権限が必要ないことです (C:\Windows\System32 内のファイルの場合は必要です)。

  • すべてのユーザーに対してプロファイル コードを実行する必要がある場合は、PowerShell の 32 ビット インスタンスと 64 ビット インスタンスではパスが異なることに注意してください。プロファイル コードを常に$PsHome実行する場合は、両方の環境を考慮する必要があります。

    パスは次のとおりです。

    • C:\Windows\System32\WindowsPowerShell\v1.064ビット環境用
    • C:\Windows\SysWow64\WindowsPowerShell\v1.032ビット版の場合(フォルダの命名は直感に反しますが、あたりです)。

おすすめ記事