共用方式為


Update-Module

將最新版的指定模組從在線資源庫下載並安裝到本機計算機。

語法

All

Update-Module
    [[-Name] <String[]>]
    [-RequiredVersion <String>]
    [-MaximumVersion <String>]
    [-Credential <PSCredential>]
    [-Scope <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-Force]
    [-AllowPrerelease]
    [-AcceptLicense]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Update-Module Cmdlet 會從在線資源庫安裝模組的最新版本。 系統會提示您在安裝更新之前確認更新。 更新只會針對安裝在本機計算機上且具有 Install-Module的模組安裝。 Update-Module 搜尋已安裝模組 $env:PSModulePath

Update-Module 沒有指定參數的更新所有已安裝的模組。 若要指定要更新的模組,請使用 Name 參數。 您可以使用 RequiredVersion 參數來更新模組的特定版本。

如果已安裝的模組已經是最新版本,則不會更新模組。 如果在 $env:PSModulePath中找不到模組,則會顯示錯誤。

若要顯示已安裝的模組,請使用 Get-InstalledModule

範例

範例 1:更新所有模組

本範例會將所有已安裝的模組更新為在線資源庫中的最新版本。

Update-Module

範例 2:依名稱更新模組

本範例會將特定模組更新為在線資源庫中的最新版本。

Update-Module -Name SpeculationControl

Update-Module 使用 Name 參數來更新特定模組,SpeculationControl

範例 3:檢視假設 Update-Module 執行

此範例會執行假設案例,以顯示執行 Update-Module 會發生什麼情況。 此命令未執行。

Update-Module -WhatIf
What if: Performing the operation "Update-Module" on target "Version '2.8.0' of module
  'Carbon', updating to version '2.8.1'".
What if: Performing the operation "Update-Module" on target "Version '1.0.10' of module
  'SpeculationControl', updating to version '1.0.14'".

Update-Module 會使用 WhatIf 參數來顯示執行 Update-Module 時會發生什麼情況。

範例 4:將模組更新為指定的版本

在此範例中,模組會更新為特定版本。 版本必須存在於在線資源庫中,否則會顯示錯誤。

Update-Module -Name SpeculationControl -RequiredVersion 1.0.14

Update-Module 使用 Name 參數來指定模組,SpeculationControlRequiredVersion 參數會指定版本,1.0.14

範例 5:在不確認的情況下更新模組

此範例不會要求確認,以從在線資源庫將模組更新為最新版本。 如果已安裝模組,Force 參數會重新安裝模組。

Update-Module -Name SpeculationControl -Force

Update-Module 使用 Name 參數來指定模組,SpeculationControlForce 參數會更新模組,而不要求用戶確認。

參數

-AcceptLicense

如果套件需要,則自動接受安裝期間的許可協定。

參數屬性

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

參數集

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

-AllowPrerelease

可讓您使用標示為發行前版本的較新模組來更新模組。

參數屬性

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

參數集

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

-Confirm

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

參數屬性

類型: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 重新安裝模組。

參數屬性

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

參數集

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

-MaximumVersion

指定要更新的單一模組最大版本。 如果您嘗試更新多個模組,則無法新增此參數。 MaximumVersionRequiredVersion 參數不能在同一個命令中使用。

參數屬性

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

參數集

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

-Name

指定要更新的一或多個模組名稱。 Update-Module $env:PSModulePath 搜尋要更新的模組。 如果在指定模組名稱的 $env:PSModulePath 中找不到相符專案,就會發生錯誤。

模組名稱中接受通配符。 如果您將通配符新增至指定的名稱,而且找不到相符專案,則不會發生任何錯誤。

參數屬性

類型:

String[]

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

參數集

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

-PassThru

返回一個物件,代表您正在處理的項目。 根據預設,此 Cmdlet 不會產生任何輸出。

參數屬性

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

-RequiredVersion

指定將更新現有已安裝模組的確切版本。 RequiredVersion 所指定的版本 必須存在於在線資源庫中,否則會顯示錯誤。 如果在單一指令中更新一個以上的模組,您就無法使用 requiredVersion

參數屬性

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

參數集

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

-Scope

指定模組的安裝範圍。 此參數可接受的值為 AllUsersCurrentUser。 如果未指定 Scope ,則會在 CurrentUser 範圍中安裝更新。

AllUsers 範圍需要提高的許可權,並在電腦所有使用者都能存取的位置安裝模組:

$env:ProgramFiles\PowerShell\Modules

CurrentUser 不需要提高的許可權,並將模組安裝在只有計算機目前使用者可存取的位置:

$home\Documents\PowerShell\Modules

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

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

參數屬性

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

參數集

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

-WhatIf

顯示當 Update-Module 執行時會發生什麼事。 該 Cmdlet 未被執行。

參數屬性

類型: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

輸入

String

String

PSCredential

Uri

輸出

Object

備註

針對 PowerShell 6.0 版和更新版本,預設安裝範圍一律為 CurrentUserCurrentUser$home\Documents\PowerShell\Modules模組更新不需要提高的許可權。 AllUsers$env:ProgramFiles\PowerShell\Modules的模組更新需要更高的許可權。

這很重要

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

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

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

Update-Module 在 PowerShell 3.0 或更新版本的 PowerShell、Windows 7 或 Windows 2008 R2 和更新版本的 Windows 上執行。

如果您使用 安裝使用 Install-Module 參數指定的模組,就會發生錯誤。

您只能執行 Update-Module,在從在線資源庫安裝的模組上執行 Install-Module

如果 Update-Module 嘗試更新正在使用的二進位檔,Update-Module 會傳回識別問題處理程序的錯誤。 在停止進程之後,系統會通知使用者重試 Update-Module