共用方式為


Install-Module

從存放庫下載一或多個模組,並將其安裝在本機計算機上。

語法

NameParameterSet (預設值)

Install-Module
    [-Name] <string[]>
    [-MinimumVersion <version>]
    [-MaximumVersion <version>]
    [-RequiredVersion <version>]
    [-Repository <string[]>]
    [-Scope <string>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

Install-Module
    [-InputObject] <psobject[]>
    [-Scope <string>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Cmdlet 會 Install-Module 從在線存放庫取得一或多個符合指定準則的模組。 Cmdlet 會驗證搜尋結果是否為有效的模組,並將模組資料夾複製到安裝位置。 安裝後不會自動導入已安裝的模組。 您可以根據指定模組的最小、最大值和確切版本來篩選已安裝的模組。

如果安裝的模組具有相同的名稱或版本,或包含現有模組中的命令,則會顯示警告訊息。 確認要安裝模組並覆蓋警告後,請使用參數 -Force 。 視您的存放庫設定而定,您可能需要回答模塊安裝的提示,才能繼續。

這些範例會使用 PowerShell資源庫 作為唯一已註冊的存放庫。 Get-PSRepository 會顯示已註冊的存放庫。 如果您有多個已註冊的存放庫,請使用 -Repository 參數來指定存放庫的名稱。

範例

範例 1:尋找並安裝模組

此範例會在存放庫中尋找模組,並安裝模組。

Find-Module -Name PowerShellGet | Install-Module

Find-Module會使用 Name 參數來指定 PowerShellGet 模組。 根據預設,模組的最新版本會從存放庫下載。 物件會向下傳送至 Install-Module Cmdlet。 Install-Module 會在中 $env:ProgramFiles\WindowsPowerShell\Modules為所有使用者安裝模組。

範例 2:依名稱安裝模組

在此範例中,已安裝最新版的 PowerShellGet 模組。

Install-Module -Name PowerShellGet

Install-Module會使用 Name 參數來指定 PowerShellGet 模組。 根據預設,模組的最新版本會從存放庫下載並安裝。

範例 3:使用其最低版本安裝模組

在此範例中,已安裝 PowerShellGet 模組的最低版本。 MinimumVersion 參數會指定應該安裝的模組最低版本。 如果有較新版本的模組可用,則會針對所有使用者下載並安裝該版本。

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Install-Module會使用 Name 參數來指定 PowerShellGet 模組。 MinimumVersion 參數會指定從存放庫下載 2.0.1 版並安裝。 因為 2.0.4 版可供使用,因此會針對所有使用者下載並安裝該版本。

範例 4:安裝特定版本的模組

在此範例中,已安裝特定版本的 PowerShellGet 模組。

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Install-Module會使用 Name 參數來指定 PowerShellGet 模組。 RequiredVersion 參數會指定所有用戶下載並安裝 2.0.0 版。

範例 5:僅針對目前使用者安裝模組

此範例只會下載並安裝最新版的模組,僅適用於目前的使用者。

Install-Module -Name PowerShellGet -Scope CurrentUser

Install-Module會使用 Name 參數來指定 PowerShellGet 模組。 Install-Module會將最新版的 PowerShellGet 下載並安裝到目前使用者的目錄中。 $home\Documents\WindowsPowerShell\Modules

參數

-Confirm

在執行 Install-Module Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:cf

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Force

安裝模組,並覆寫有關模組安裝衝突的警告訊息。 如果計算機上已有相同名稱的模組, Force 會允許安裝多個版本。 如果有具有相同名稱和版本的現有模組, Force 會覆寫該版本。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-InputObject

用於管線輸入。

參數屬性

類型:

PSObject[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

InputObject
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-MaximumVersion

指定要安裝的單一模組最大版本。 如果要安裝多個模組,則不能使用 MaximumVersionMaximumVersionRequiredVersion 不能在同一 Install-Module 命令中使用。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

NameParameterSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-MinimumVersion

指定要安裝之單一模組的最低版本。 如果有較新版本的模組可用,則會安裝較新版本。 如果要安裝多個模組,則不能使用 MinimumVersionMinimumVersionRequiredVersion 不能在同一 Install-Module 命令中使用。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False
別名:版本

參數集

NameParameterSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Name

指定要從在線資源庫安裝之模組的確切名稱。 接受以逗號分隔的模組名稱清單。 模組名稱必須符合存放庫中的模組名稱。 使用 Find-Module 來取得模組名稱的清單。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

NameParameterSet
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Repository

使用 Repository 參數指定用於下載和安裝模組的儲存庫。 註冊多個存放庫時使用。 指定命令中 Install-Module 已註冊存放庫的名稱。 若要註冊存放庫,請使用 Register-PSRepository。 若要顯示已註冊的存放庫,請使用 Get-PSRepository

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

NameParameterSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-RequiredVersion

指定要安裝的單一模組確切版本。 如果指定版本的存放庫中沒有相符專案,則會顯示錯誤。 如果要安裝多個模組,則不能使用 RequiredVersionRequiredVersion 不能與 Install-ModuleMaximumVersion 在同一命令中使用。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

NameParameterSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Scope

指定模組的安裝範圍。 此參數可接受的值為 AllUsersCurrentUser

AllUsers 範圍將模組安裝在電腦的所有使用者都可以存取的位置:

$env:ProgramFiles\WindowsPowerShell\Modules

CurrentUser 將模組安裝在只有電腦的當前使用者才能訪問的位置:

$home\Documents\WindowsPowerShell\Modules

如果未定義 Scope ,則根據目前的工作階段設定預設值:

  • 對於提升的 PowerShell 會話, Scope 預設為 AllUsers
  • 對於 PowerShellGet 版本 2.0.0 及更高版本中的非提升的 PowerShell 會話, 範圍CurrentUser
  • 針對 PowerShellGet 1.6.7 版和更早版本中未提升許可權的 PowerShell 會話, 範圍 未定義且 Install-Module 失敗。

參數屬性

類型:String
預設值:None
接受的值:AllUsers, CurrentUser
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WhatIf

顯示執行命令時 Install-Module 會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:無線

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

PSRepositoryItemInfo

Find-Module會建立可將管線向下傳送至 Install-Module 物件。

備註

Install-Module 會在 Windows 7 或 Windows 2008 R2 和更新版本的 Windows 5.0 或更新版本上執行。

安全性最佳做法是,第一次執行任何 Cmdlet 或函式之前,先評估模組的程序代碼。 為防止運行包含惡意代碼的模組,已安裝的模組在安裝後不會自動導入。

如果 Name 參數指定的模組名稱在儲存庫中不存在, Install-Module 則返回錯誤。

若要安裝多個模組,請使用 Name 參數,並指定以逗號分隔的模組名稱數位。 如果指定多個模組名稱,則不能使用 MinimumVersionMaximumVersionRequiredVersionFind-Module會建立可將管線向下傳送至 Install-Module 物件。 管線是指定要在單一命令中安裝的多個模組的另一種方式。

根據預設, AllUsers 範圍的模組會安裝在 中 $env:ProgramFiles\WindowsPowerShell\Modules。 當您安裝 PowerShell Desired State Configuration (DSC) 資源時,預設值會避免混淆。

如果資料夾中沒有.psm1、 或.psd1.dll同名的模組,則模組安裝將失敗,並且無法匯入。 使用 Force 參數來安裝模組。

如果現有模組的版本與 Name 參數指定的名稱匹配,並且未使用 MinimumVersionRequiredVersion 參數, Install-Module 則以靜默方式繼續,但不安裝該模組。

如果現有模組的版本大於 MinimumVersion 參數的值,或等於 RequiredVersion 參數的值, Install-Module 則以靜默方式繼續但不安裝該模組。

如果現有模組與 MinimumVersionRequiredVersion 參數指定的值不匹配,則 Install-Module 命令中會發生錯誤。 例如,如果現有已安裝模組的版本低於 MinimumVersion 值,或不等於 RequiredVersion 值。