In der PowerShell-Hilfe fehlen alle about_ * -Themen. Was gibt?

883
NReilingh

Ich habe PowerShell auf dieser Maschine nicht oft verwendet - sie wurde vor einigen Monaten von Windows 7 Pro auf Windows 10 aktualisiert. $ PSVersionTable zeigt an, dass ich auf Version 5 bin.

Ich habe update-help als Administrator ausgeführt, aber es fehlen alle about_-Hilfethemen, mit Ausnahme von about_CimSession aus irgendeinem Grund. Das heißt, wenn ich Get-Help * | Where-Object { $_.Name -Like "about_*" }renne, bekomme ich als einziges Ergebnis about_CimSession. Jeder Versuch, andere about_ topics zu erhalten, führt zu einer Suchliste oder einem verwandten Thema.

Wie kann ich das beheben?

3
Ältere Powershell-Versionen schienen MIT Hilfedateien zu installieren, die neueren Versionen schienen diese Dateien NICHT zu enthalten. Sie werden erst nach dem Aufruf von "update-help" heruntergefahren. Wenn Sie sich hinter einem Proxy befinden, vergewissern Sie sich, dass er zugewiesen ist. Andernfalls schlägt die "update-help" fehl. Clayton vor 7 Jahren 0
@ Craig620 Ich habe `update-help -force` ausgeführt, bis die Kühe nach Hause kommen, aber es bringt mir keine neuen` about_`-Themen. Es ist, als würde PS5 nicht wissen, dass sie existieren sollen. NReilingh vor 7 Jahren 0

2 Antworten auf die Frage

4
Weaver

Führen Sie Update-Help -Forceals lokaler Administrator wie bereits ausgeführt aus, um sicherzustellen, dass die Hilfedateien in C:\Windows\System32\WindowsPowerShell\v1.0\en-USoder Ihr Gebietsschema vorhanden sind.

Vergewissern Sie sich dann, dass die Dateierweiterungen für die about_Hilfedateien tatsächlich vorhanden sind .help.txtund nicht nur.txt PowerShell-Hilfedateien erforderlich sind .help.txt.

Update-HelpIn PowerShell Version 5 gibt es irgendwo im Prozess ein Problem, bei dem die Dateien benannt werden .txt.

Der folgende Einliner wird Move-Item( nicht Rename-Item mehr dazu unten) alles .txtin .help.txt. Dieser Pfad enthält Modulhilfedateien auch im üblichen PowerShell-Systemverzeichnis. Vergewissern Sie sich, dass die PowerShell an einem anderen Ort installiert ist.

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 

Nach der Umbenennung der .txtzu .help.txtIhrem Get-Help about*wieder arbeiten.

Wenn Sie jedoch Update-Help -Forceeinen neuen Satz falscher Dateien ausführen, .txtwird er erneut heruntergeladen. Der Grund für das obige Skript ist Move-Item(anstelle von Rename-Item), da Sie es mehrmals zur Bereinigung ausführen können.

Dieses Problem muss von Microsoft behoben werden.

Das ist erstaunlich und hat dazu beigetragen, dass ich Probleme hatte, also Punkte! Es stellte sich heraus, dass es auch ein paar Module mit dem gleichen Dateinamen gab. Außerdem fehlten einige Hilfedateien, und dafür gibt es jetzt eine Lösung: https://github.com/kilasuit/Install-AboutHelp NReilingh vor 7 Jahren 0
Oh oops. Der von Ihnen bereitgestellte One-Liner verschiebt alle diese Dateien nach C: \ Working on a fix ... NReilingh vor 7 Jahren 0
Eine Sache noch. Die neuesten Hilfedateien, die mit der falschen Erweiterung heruntergeladen werden, scheinen im Vergleich zu ihren Gegenstücken aus dem Zeitalter von 2014 eine schlechte Formatierung zu haben. Sehen Sie sich about_Execution_Policies an, wenn Sie können. Was für ein Chaos! NReilingh vor 7 Jahren 0
Seltsam, dass für Sie die Dateien nicht korrekt verschoben wurden. Gute Updates für die Antwort / den Beitrag. Vielen Dank. Lächerlich, dass Microsoft bis November 2016 noch keine Korrekturen vorgenommen hat. Weaver vor 7 Jahren 0
-2
Paul M.

Ich hatte das gleiche Problem, dass ich bei keinem about_-Thema auf meinem Win10-Rechner Hilfe bekommen konnte. Alle Hilfedateien waren mit den Erweiterungen .help.txt vorhanden. Ich hatte auch VMware PowerCLI installiert. Ich habe den Ordner "Module" für PowerCLI in "C: \ Programme (x86) \ VMware \ Infrastructure \ vSphere PowerCLI \ Modules" umbenannt, und alles hat funktioniert. Am Ende habe ich PowerCLI deinstalliert.