Update-Module
将最新版本的指定模块从联机库下载并安装到本地计算机。
语法
Update-Module
[[-Name] <String[]>]
[-RequiredVersion <Version>]
[-MaximumVersion <Version>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
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:查看 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 参数在不请求用户确认的情况下更新模块。
参数
-Confirm
在运行 Update-Module
之前,提示你进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Force
强制更新每个指定的模块,而不提示请求确认。 如果已安装模块,Force 重新安装模块。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MaximumVersion
指定要更新的单个模块的最大版本。 如果尝试更新多个模块,则无法添加此参数。 MaximumVersion 和 RequiredVersion 参数不能在同一命令中使用。
类型: | Version |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Name
指定要更新的一个或多个模块的名称。
Update-Module
$env:PSModulePath
搜索要更新的模块。 如果在指定模块名称的 $env:PSModulePath
中找不到任何匹配项,则会发生错误。
模块名称中接受通配符。 如果将通配符添加到指定名称且未找到任何匹配项,则不会发生错误。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | True |
-RequiredVersion
指定将更新现有已安装模块的确切版本。 RequiredVersion 指定的版本必须存在于联机库中,否则将显示错误。 如果在单个命令中更新了多个模块,则不能使用 RequiredVersion。
类型: | Version |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示 Update-Module
运行时会发生什么情况。 该 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
备注
对于 PowerShell 5.1 或更低版本,提升会话中的默认作用域 AllUsers,在非提升的会话中,CurrentUser。
AllUsers的模块更新($env:ProgramFiles\PowerShell\Modules
)需要提升的权限。
CurrentUser模块更新($home\Documents\PowerShell\Modules
)不需要提升的权限。
Update-Module
在 PowerShell 3.0 或更高版本的 PowerShell、Windows 7 或 Windows 2008 R2 及更高版本的 Windows 上运行。
如果使用 Install-Module
未安装使用 Name 参数指定的模块,则会发生错误。
只能通过运行 Install-Module
,在从联机库安装的模块上运行 Update-Module
。
如果 Update-Module
尝试更新正在使用的二进制文件,Update-Module
将返回一个标识问题进程的错误。 在停止进程后,系统会通知用户重试 Update-Module
。