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>]
说明
Update-Module cmdlet 从联机库安装模块的最新版本。 在安装更新之前,系统会提示你确认更新。 仅针对本地计算机上安装的模块安装了 Install-Module更新。
Update-Module 搜索已安装模块的 $env:PSModulePath。
这是 Update-PSResource 中 cmdlet 的代理 cmdlet。 有关详细信息,请参阅 Update-PSResource。
示例
示例 1:更新所有模块
此示例将所有已安装的模块更新到联机库中的最新版本。
Update-Module
示例 2:按名称更新模块
此示例将特定模块更新到联机库中的最新版本。
Update-Module -Name SpeculationControl
Update-Module 使用 Name 参数更新特定模块,SpeculationControl。
示例 3:查看 what-if 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 参数指定模块,SpeculationControl。
RequiredVersion 参数指定版本 1.0.14。
示例 5:在不确认的情况下更新模块
此示例不请求确认将模块从联机库更新到最新版本。 如果模块已安装,Force 参数将重新安装该模块。
Update-Module -Name SpeculationControl -Force
Update-Module 使用 Name 参数指定模块,SpeculationControl。
Force 参数在不请求用户确认的情况下更新模块。
参数
-AcceptLicense
如果程序包需要,则自动接受安装期间的许可协议。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-AllowPrerelease
允许使用标记为预发行版的新模块更新模块。
代理 cmdlet 将此参数映射到 预发行版 参数 Update-PSResource。
参数属性
| 类型: | 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
代理 cmdlet 使用此参数的值来创建 NuGet 版本搜索字符串,以便与 Version 参数 Update-PSResource一起使用。
参数属性
| 类型: | 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
代理 cmdlet 忽略此参数,因为它不受支持 Update-PSResource。
参数属性
| 类型: | Uri |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-ProxyCredential
代理 cmdlet 忽略此参数,因为它不受支持 Update-PSResource。
参数属性
| 类型: | PSCredential |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-RequiredVersion
代理 cmdlet 使用此参数的值来创建 NuGet 版本搜索字符串,以便与 Version 参数 Update-PSResource一起使用。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Scope
指定模块的安装范围。 此参数的可接受值为 AllUsers 和 CurrentUser。 如果未指定 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 包含以下与 Update-Module相关的别名:
- 所有平台:
upmo
对于 PowerShell 6.0 及更高版本,默认安装范围始终为 CurrentUser。
CurrentUser模块更新($HOME\Documents\PowerShell\Modules)不需要提升的权限。
AllUsers的模块更新($env:ProgramFiles\PowerShell\Modules)需要提升的权限。
PowerShell 库不再支持传输层安全性(TLS)版本 1.0 和 1.1。 必须使用 TLS 1.2 或更高版本。 使用以下命令确保使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Update-Module 在 PowerShell 3.0 或更高版本的 PowerShell、Windows 7 或 Windows 2008 R2 及更高版本的 Windows 上运行。
如果未使用 Install-Module 参数指定模块,则会发生错误。
只能通过运行 Update-Module,在从联机库安装的模块上运行 Install-Module。
如果 Update-Module 尝试更新正在使用的二进制文件,Update-Module 将返回一个标识问题进程的错误。 在停止进程后,系统会通知用户重试 Update-Module。