PowerShell x64 无法识别 Install-Module 未被识别为 cmdlet 的名称

问题描述

我知道 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-ModulePowerShellGet 模块的一部分,它不应该关心您运行的是 x64 还是 x86 shell。无论如何,您可以尝试以下几点。

# 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,问题得到了解决。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...