共用方式為


Install-Module

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

語法

NameParameterSet (預設值)

Install-Module
    [-Name] <String[]>
    [-MinimumVersion <String>]
    [-MaximumVersion <String>]
    [-RequiredVersion <String>]
    [-Repository <String[]>]
    [-Credential <PSCredential>]
    [-Scope <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-Force]
    [-AllowPrerelease]
    [-AcceptLicense]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

Install-Module
    [-InputObject] <PSObject[]>
    [-Credential <PSCredential>]
    [-Scope <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-Force]
    [-AcceptLicense]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

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

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

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

範例

範例 1:尋找並安裝模組

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

Find-Module -Name PowerShellGet | Install-Module

Find-Module會使用 Name 參數來指定 PowerShellGet 模組。 根據預設,模組的最新版本會從存放庫下載。 物件會向下傳送至 Install-Module Cmdlet。 Install-Module 會在中 $env:ProgramFiles\PowerShell\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\PowerShell\Modules

參數

-AcceptLicense

對於需要授權的模組, AcceptLicense 會在安裝期間自動接受許可協定。 如需詳細資訊,請參閱 需要接受授權的模組

參數屬性

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

參數集

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

-AllowClobber

覆寫有關電腦上現有命令之安裝衝突的警告訊息。 覆寫與模組所安裝命令名稱相同的現有命令。 AllowClobberForce 可以在命令中 Install-Module 一起使用。

參數屬性

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

參數集

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

-AllowPrerelease

可讓您安裝標示為發行前版本的模組。

參數屬性

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

參數集

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

-Confirm

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

參數屬性

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

參數集

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

-Credential

指定有權為指定的套件提供者或來源安裝模組的用戶帳戶。

參數屬性

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

參數集

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

-Force

安裝模組,並覆寫有關模組安裝衝突的警告訊息。 如果計算機上已有相同名稱的模組, Force 會允許安裝多個版本。 如果有具有相同名稱和版本的現有模組, Force 會覆寫該版本。 ForceAllowClobber 可以在命令中 Install-Module 一起使用。

參數屬性

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

參數集

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

-InputObject

用於管線輸入。 如果直接提供給 InputObject 的值,就會擲回錯誤。 使用管線傳遞具有 InputObject 參數的物件。

參數屬性

類型:

PSObject[]

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

參數集

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

-MaximumVersion

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

參數屬性

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

參數集

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

-MinimumVersion

指定要安裝之單一模組的最低版本。 安裝的版本必須大於或等於 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

-PassThru

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

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

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

參數屬性

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

參數集

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

-Proxy

指定要求的 Proxy 伺服器,而不是直接連線到因特網資源。

參數屬性

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

參數集

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

-ProxyCredential

指定有權使用 Proxy 參數所指定 Proxy 伺服器的用戶帳戶。

參數屬性

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

參數集

(All)
Position:Named
必要:False
來自管線的值: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\PowerShell\Modules

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

$home\Documents\PowerShell\Modules

未定義 範圍 時,會根據 PowerShellGet 版本來設定預設值。

  • 在 PowerShellGet 2.0.0 版和更新版本中,預設值為 CurrentUser,不需要提高安裝許可權。
  • 在 PowerShellGet 1.x 版本中,預設值為 AllUsers,需要提高安裝許可權。

參數屬性

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

參數集

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

-SkipPublisherCheck

可讓您安裝計算機上已存在的較新版本模組。 例如,當現有模組由受信任的發行者進行數字簽名,但新版本未由受信任的發行者進行數字簽名時。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元: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 物件。

String

PSObject

String

PSCredential

Uri

輸出

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

使用 PassThru 參數時, Install-Module 輸出模組的 PSRepositoryItemInfo 物件。 這是您從 Cmdlet 取得的 Find-Module 相同資訊。

備註

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

這很重要

自 2020 年 4 月起,PowerShell 資源庫不再支援傳輸層安全性 (TLS) 1.0 和 1.1 版。 如果您未使用 TLS 1.2 或更高版本,當您嘗試存取 PowerShell 資源庫時,會收到錯誤。 使用下列命令以確保您使用 TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

如需詳細資訊,請參閱 PowerShell 部落格中的 公告

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

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

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

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

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

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

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

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

模組安裝還將安裝模組發佈者根據需要指定的任何依賴模組。 發行者將在模組清單中指定所需的模組及其版本。