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
指定要安裝的單一模組最大版本。 如果要安裝多個模組,則不能使用 MaximumVersion。
MaximumVersion 和 RequiredVersion 不能在同一 Install-Module 命令中使用。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-MinimumVersion
指定要安裝之單一模組的最低版本。 如果有較新版本的模組可用,則會安裝較新版本。 如果要安裝多個模組,則不能使用 MinimumVersion。
MinimumVersion 和 RequiredVersion 不能在同一 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
指定要安裝的單一模組確切版本。 如果指定版本的存放庫中沒有相符專案,則會顯示錯誤。 如果要安裝多個模組,則不能使用 RequiredVersion。
RequiredVersion 不能與 Install-Module 或 MaximumVersion 在同一命令中使用。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Scope
指定模組的安裝範圍。 此參數可接受的值為 AllUsers 和 CurrentUser。
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 參數,並指定以逗號分隔的模組名稱數位。 如果指定多個模組名稱,則不能使用 MinimumVersion、 MaximumVersion 或 RequiredVersion。
Find-Module會建立可將管線向下傳送至 的 Install-Module 物件。 管線是指定要在單一命令中安裝的多個模組的另一種方式。
根據預設, AllUsers 範圍的模組會安裝在 中 $env:ProgramFiles\WindowsPowerShell\Modules。 當您安裝 PowerShell Desired State Configuration (DSC) 資源時,預設值會避免混淆。
如果資料夾中沒有.psm1、 或.psd1.dll同名的模組,則模組安裝將失敗,並且無法匯入。 使用 Force 參數來安裝模組。
如果現有模組的版本與 Name 參數指定的名稱匹配,並且未使用 MinimumVersion 或 RequiredVersion 參數, Install-Module 則以靜默方式繼續,但不安裝該模組。
如果現有模組的版本大於 MinimumVersion 參數的值,或等於 RequiredVersion 參數的值, Install-Module 則以靜默方式繼續但不安裝該模組。
如果現有模組與 MinimumVersion 或 RequiredVersion 參數指定的值不匹配,則 Install-Module 命令中會發生錯誤。 例如,如果現有已安裝模組的版本低於 MinimumVersion 值,或不等於 RequiredVersion 值。