このマシンではPowerShellをあまり使用していません。数か月前に、Windows 7ProからWindows10に更新されました。 $ PSVersionTableは、バージョン5を使用していることを示しています。
管理者としてupdate-helpを実行しましたが、何らかの理由でabout_CimSessionを除いて、about_helpトピックがすべて欠落しています。つまり、Get-Help * | Where-Object { $_.Name -Like "about_*" }
を実行すると、唯一の結果としてabout_CimSessionが取得されます。他のabout_トピックを取得しようとすると、検索リストまたは関連トピックが表示されます。
どうすればこれを修正できますか?
すでに行ったようにローカル管理者としてUpdate-Help -Force
を実行し、ヘルプファイルがC:\Windows\System32\WindowsPowerShell\v1.0\en-US
またはロケールに存在することを確認します。
次に、about_
ヘルプファイルのファイル拡張子が実際には.help.txt
であり、.txt
だけではないことを確認します PowerShellヘルプファイルは.help.txt
である必要があります。
PowerShell v5のUpdate-Help
プロセスのどこかに、ファイルの名前が.txt
であるという問題があります。
次のワンライナーは、すべてのMove-Item
をRename-Item
に.txt
(not.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が解決する必要があります。