我的 PowerShell 帮助中缺少所有 about_* 主题。这是怎么回事?

我的 PowerShell 帮助中缺少所有 about_* 主题。这是怎么回事?

我很少在这台机器上使用 PowerShell — 几个月前它从 Windows 7 Pro 更新到了 Windows 10。$PSVersionTable 显示我使用的是版本 5。

我以管理员身份运行了 update-help,但不知为何,除了 about_CimSession 之外,所有 about_ 帮助主题都缺失了。也就是说,当我运行 时Get-Help * | Where-Object { $_.Name -Like "about_*" },我得到的结果只有 about_CimSession。任何获取其他 about_ 主题的尝试都会产生搜索列表或相关主题。

我怎样才能解决这个问题?

答案1

按照您已经完成的操作以本地管理员身份运行Update-Help -Force,以确保帮助文件存在于C:\Windows\System32\WindowsPowerShell\v1.0\en-US您的区域设置中。

然后验证文件扩展名因为about_帮助文件实际上.help.txt不仅仅是.txtPowerShell 帮助文件需要.help.txt

Update-HelpPowerShell v5 中文件命名过程中的某个地方存在问题.txt

以下一行代码将Move-Item不是 Rename-Item更多信息见下文)全部.txt放入.help.txt。此路径将包括模块帮助文件,也位于通常的 PowerShell 系统目录中 — 请确保检查您的 PowerShell 是否安装在其他地方。

Get-ChildItem -Path 'C:\Windows\System32\WindowsPowerShell\v1.0' -Recurse -Include '*.txt' -Exclude '*.help.txt' | Move-Item -Destination { $_.DirectoryName + '\' + $_.Name -replace '.txt$','.help.txt' } -Force

重命名后,您的.txt意志再次工作。.help.txtGet-Help about*

但是如果你运行Update-Help -Force一组新的不正确 .txt将被再次下载。因此,上述脚本之所以使用Move-Item(而不是Rename-Item),是因为您可以多次再次运行它进行清理。

这个问题需要微软来解决。

答案2

对我来说这是一个愚蠢的区域设置。Get-UICulture返回en-GB,但显然帮助仅在可用en-US,因为当然如此。

Update-Help -Force -UICulture en-US -Verbose

在 Ubuntu ARMx64 7.2.4 上运行良好。

答案3

我遇到了同样的问题,无法在我的 Win10 计算机上获取有关任何 about_ 主题的帮助。所有帮助文件都带有 .help.txt 扩展名。我还安装了 VMware PowerCLI。我将 PowerCLI 的 Modules 文件夹重命名为 C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Modules,一切正常。我最终卸载了 PowerCLI。

相关内容