问题描述
我知道 Install-Module 是 PowerShell 5 或更高版本的功能。
我正在运行 Windows 10 专业版 20H2 和操作系统版本:19042.746
我使用 $PsversionTable
检查了 PS 的版本。下面提供了输出。
PS C:\Windows\system32> $PsversionTable
Name Value
---- -----
Psversion 5.1.19041.610
PSEdition Desktop
PSCompatibLeversions {1.0,2.0,3.0,4.0...}
BuildVersion 10.0.19041.610
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
我在寻找修复程序时发现的另一件事是,PowerShell x86 版本工作正常并且没有任何问题。
我无法运行 Window Management Framework 5.1,因为它是为了让其他系统升级 PowerShell。但是,我运行的是最新版本。
64 位有什么修复方法吗?
解决方法
嗯,我想知道这是不是一个错误?
PowerShell x86 版本运行良好,没有任何问题。
此注释没有意义,因为 Install-Module
是 PowerShellGet
模块的一部分,它不应该关心您运行的是 x64 还是 x86 shell。无论如何,您可以尝试以下几点。
- 您可以manually下载
PowerShellGet
(PackageManagement
是一个依赖项)。相关:
# check if PowerShellGet is available locally
Get-Module PowerShellGet -List
# check if PackageManagement is available locally
Get-Module PackageManagement -List
- 您是否运行过 Windows 更新?如果没有:运行它,重新启动,重复直到没有剩余。
-
.NET
应该已随操作系统一起安装 - 检查是否已安装。
# Needs to be run in an Admin shell. Alternatively,us the gui in next point
Get-WindowsOptionalFeature -Online -FeatureName NetFx* | Format-Table
# if not,you can add it by going typing 'windows feature' in the start menu and going to
# 'Turn Windows feature on or off'
,
我发现的解决方法是将 Modules
中的 Program Files (x86)\WindowsPowershell
文件夹复制到 Program Files\WindowsPowershell
(64 位文件夹)。不知何故,模块从 64 位 Powershell 文件夹中删除。我无法确定确切原因,但我怀疑罪魁祸首可能是 KB5001330 更新。
不知道是不是bug。我刚刚重新安装了 Windows,问题得到了解决。