修改 PSModulePath 安裝路徑

PSModulePath環境變數會儲存安裝在磁片上的模組位置路徑。 當使用者未指定模組的完整路徑時,PowerShell 會使用此變數來尋找模組。 此變數中的路徑會依照其出現的順序來搜尋。

當 PowerShell 啟動時, PSModulePath 會建立為具有下列預設值的系統內容變數: $HOME\Documents\PowerShell\Modules; $PSHOME\Modules 在 Windows、 $HOME/.local/share/powershell/Modules: usr/local/share/powershell/Modules Linux 或 Mac 上,以及 $HOME\Documents\WindowsPowerShell\Modules; $PSHOME\Modules 用於 Windows PowerShell。

注意

使用者專屬的 CurrentUser 位置是 WindowsPowerShell\Modules 位於您使用者設定檔中檔位置的資料夾。 該位置的特定路徑會因 Windows 版本而異,以及您是否正在使用資料夾重新導向。 根據預設,在 Windows 10 上,該位置為 $HOME\Documents\WindowsPowerShell\Modules

若要查看 PSModulePath 變數

若要查看變數中指定的路徑 PSModulePath ,請輸入下列命令:

$env:PSModulePath

若要將位置新增至 PSModulePath 變數

若要將路徑新增至此變數,請使用下列其中一種方法:

  • 若要新增僅適用于目前會話的暫時值,請在命令列執行下列命令:

    $env:PSModulePath = $env:PSModulePath + "$([System.IO.Path]::PathSeparator)$MyModulePath"

  • 若要新增會話開啟時可用的持續值,請將上述命令新增至 PowerShell 設定檔 ($PROFILE) >

    如需設定檔的詳細資訊,請參閱 about_Profiles

  • 若要將持續性變數新增至登錄,請 PSModulePath 使用 [ 系統屬性 ] 對話方塊中的環境變數編輯器,建立名為的新使用者環境變數。

  • 若要使用腳本新增持續性變數,請在system.object類別上使用 .Net 方法SetEnvironmentVariable 。 例如,下列腳本會將路徑新增 C:\Program Files\Fabrikam\ModulePSModulePath 電腦的環境變數值。 若要將路徑新增至使用者 PSModulePath 環境變數,請將目標設定為 "user"。

    $CurrentValue = [Environment]::GetEnvironmentVariable("PSModulePath", "Machine")
    [Environment]::SetEnvironmentVariable("PSModulePath", $CurrentValue + [System.IO.Path]::PathSeparator + "C:\Program Files\Fabrikam\Modules", "Machine")
    

您也可以設定 PSModulePath 設定檔中的 powershell.config.json 值。 如需詳細資訊,請參閱 about_PowerShell_Config

從 PSModulePath 中移除位置

您可以使用類似的方法,從變數中移除路徑。 下列範例會 C:\ModulePath 從目前的會話移除路徑。

$env:PSModulePath = $env:PSModulePath -replace "$([System.IO.Path]::PathSeparator)c:\\ModulePath"`

若要讓所有 PowerShell 會話的這種變更持續存在,請使用先前所述的 .NET 方法。

[Environment]::SetEnvironmentVariable("PSModulePath", $env:PSModulePath, "Machine")

另請參閱

撰寫 Windows PowerShell 模組

about_Modules