我在不同的机器上有两个不同版本的PowerShell。本地的有以下几个:
主要|次要|内部版本|修订版本
-|-|
5|1|17763|1007
并且该虚拟机具有以下一个:
主要|次要|内部版本|修订版本
-|-|
5|1|17763|771
如您所见,它具有相同的值:主要值、次要值和构建值,但修订值除外。我不确定是否是命令失败的幕后黑手:
Register-PSRepository -Name $RepoKeyName -SourceLocation $RepoKeyValue
-PublishLocation $RepoKeyValue -InstallationPolicy Trusted -Verbose
上述代码片段在本地计算机上运行正常,但在虚拟机上运行不正常,并且在虚拟机上运行失败,并显示以下错误:parameter 'SourceLocation' is an invalid Web Uri. Please ensure that it meets the Web Uri requirements.
这就是我要将虚拟机中的PowerShell更新为最新修订值的原因。怎么做呢?
5条答案
按热度按时间pvcm50d11#
如果您有Microsoft的winget应用程序(Windows包管理器),则可以运行以下命令以更新到最新版本的PowerShell:
7hiiyaii2#
如果您运行的是Windows 11或已更新了Windows 10中的应用安装程序。
使用Windows程序包管理器(Winget)更新PowerShell
您也可以通过Winget使用以下命令安装PowerShell
了解更多情况:
3gtaxfhh3#
在命令提示符下运行以下命令,等待下载完成后,系统会提示安装向导按照说明进行安装。
gtlvzcf84#
您永远不能按需更新Windows PowerShell安装-**除非在过去,如果您升级到新的主要版本,但5.1版是将发布的**最后一个版本,因为Windows PowerShell处于维护阶段-将不会看到新的开发,不同于它的继任者,跨平台的PowerShell (Core) 7+版本。[1]
注:
PowerShell(Core)与Windows PowerShell是大部分,但不是完全向后兼容,并且某些cmdlet不可用,除非通过在性能和类型保真度方面都有限制的compatibility feature。
PowerShell(Core)与Windows PowerShell一起安装,并具有不同的CLI(
pwsh.exe
而不是powershell.exe
)和不同的SDK*(请参阅this answer);此外,通过PowerShell remoting瞄准*PowerShell(Core)*需要明确的配置-请参阅this answer。Windows PowerShell-特定注意事项:
V5.1的修订是Windows更新的一部分。
但是,您可以有选择地更新
PowerShellGet
module,其中定义了导致问题的Register-PSRepository
命令:虽然您通常只运行
Update-Module PowerShellGet
,但第一次从捆绑的PowerShellGet
模块切换到PowerShell Gallery的最新版本时,需要一种不同的方法:-Verbose
获取详细信息):-Force
用于支持安装,即使已经安装了同名的模块;您可能仍然会看到有关下载NuGet包提供程序的提示。请注意,旧的
PowerShellGet
版本将保留在不同的位置,但新的版本将优先于它。在初始切换到库安装的版本后,您将能够使用
未来版本的
Update-Module PowerShellGet
。您可以使用
Get-Command
cmdlet来发现给定命令的来源模块;例如:[1]PowerShell(Core)7+版本*可以按需更新**-但从v7.2.x开始,PowerShell(Core)不支持Windows,最初需要手动安装。但是,您现在可以通过Microsoft Store应用程序安装和更新它,或者以编程方式,使用
winget.exe
**(它随App Installer
Microsoft Store应用程序一起提供,最新版本的Windows随附):注:请使用
Microsoft.PowerShell.Preview
安装/升级最新的PREVIEW版本。z31licg05#
**解决方案1:**转至此链接:
https://github.com/PowerShell/PowerShell/releases/
找到资产并单击资产单词。
下载并安装**.msi**链接。
解决方案2:
请转到此链接下载Windows程序包管理器:
https://github.com/microsoft/winget-cli/releases
找到资产并单击资产单词。
下载:Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
执行下载的文件并单击更新。
打开命令提示符或PowerShell并在其上执行以下命令:
Winget安装Microsoft.PowerShell
如果您有Mircrosoft.PowerShell,请执行以下命令:
Winget Upgrade Microsoft.PowerShell
要找出您的PowerShell版本:在您的PowerShell中执行host命令。