web-dev-qa-db-ja.com

about_ *のトピックはすべてPowerShellヘルプにありません。何が得られますか?

このマシンではPowerShellをあまり使用していません。数か月前に、Windows 7ProからWindows10に更新されました。 $ PSVersionTableは、バージョン5を使用していることを示しています。

管理者としてupdate-helpを実行しましたが、何らかの理由でabout_CimSessionを除いて、about_helpトピックがすべて欠落しています。つまり、Get-Help * | Where-Object { $_.Name -Like "about_*" }を実行すると、唯一の結果としてabout_CimSessionが取得されます。他のabout_トピックを取得しようとすると、検索リストまたは関連トピックが表示されます。

どうすればこれを修正できますか?

3
NReilingh

すでに行ったようにローカル管理者としてUpdate-Help -Forceを実行し、ヘルプファイルがC:\Windows\System32\WindowsPowerShell\v1.0\en-USまたはロケールに存在することを確認します。

次に、about_ヘルプファイルのファイル拡張子が実際には.help.txtであり、.txtだけではないことを確認します PowerShellヘルプファイルは.help.txtである必要があります。

PowerShell v5のUpdate-Helpプロセスのどこかに、ファイルの名前が.txtであるという問題があります。

次のワンライナーは、すべてのMove-ItemRename-Item.txtnot.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.txtに変更すると、Get-Help about*が再び機能します。

ただし、Update-Help -Forceを実行すると、incorrect.txtの新しいセットが再度ダウンロードされます。したがって、上記のスクリプトで(Move-Itemの代わりに)Rename-Itemを使用する理由は、クリーンアップのために複数回実行できるためです。

この問題は、Microsoftが解決する必要があります。

4
Weaver