Tags: PowerShell
Ein Vorzug von PowerShell gegenüber älteren Kommandozeilen oder Script-Umgebungen ist das dynamische Hilfesystem. Es holt sich die aktuellen Hilfedateien von Microsofts Website. Dort gab es jedoch schon lange keine Updates mehr. Dies soll sich nun mit einem neuen Publishing-Verfahren ändern.
Hilfe zu bestimmten Cmdlets oder Sprachelementen erhält man in PowerShell bekanntlich mit
Get-Help -Name <Cmdlet>
Dieser Befehl liest dann die zuständige XML-Datei aus dem passenden Sprachverzeichnis des Modulpfads aus. Seit der Version 3.0 verzichtet Microsoft jedoch auf die Lokalisierung der Hilfetexte, so dass alle Informationen aus dem Ordner en-US kommen.
Aber auch dort wurden die Hilfetexte seit Jahren, genau genommen seit dem Erscheinen von PowerShell 5.1, nicht mehr auf einen neuen Stand gebracht. Für eine ganze Reihe von Modulen fehlen sie gänzlich.
Künftig regelmäßige Updates der Hilfetexte
Die nun angekündigte neue Pipeline zum Publizieren der PowerShell-Hilfe soll künftig für frische Inhalte im Hilfesystem sorgen, und zwar in den Versionen 5.x und 7.x. Wer jedoch glaubt, ein simpler Aufruf von
Update-Help
würde dafür reichen, hat sich zu früh gefreut. Das Cmdlet steigt in diesem Fall mit dieser Fehlermeldung aus:
Fehler beim Aktualisieren von Hilfe für die Module "ConfigDefender, PSReadline, WindowsUpdateProvider" mit den Benutzeroberflächenkulturen {de-DE}: Die XML-Datei "HelpInfo" für die Benutzeroberflächenkultur de-DE kann nicht abgerufen werden.
Wenn man darauf tippt, dass daran die deutschsprachige Umgebung schuld ist, dann liegt man falsch, weil das Problem auch auf dem englischsprachigen Windows auftritt.
Der Grund liegt vielmehr darin, dass die Eigenschaft HelpInfoUri bei den betreffenden Modulen fehlen oder auf ungültige Dateien verweisen. Am einfachsten umgeht man das Problem, indem man das Cmdlet anweist, auftretende Fehler zu ignorieren und mit dem Update fortzufahren:
Update-Help -ErrorAction SilentlyContinue
Version der Hilfe auslesen
Nach dem erfolgreichen Abschluss dieser Aktion liegt es nahe, das Hilfesystem auf neue Inhalte zu überprüfen. Diese kann man anhand der Versionsnummer herausfinden. Um hier Änderungen zu entdecken, sollte man das folgende Script vor und nach dem Update laufen lassen.
Der Code prüft für alle installierten Module, die über eine URL für die Hilfedatei verfügen, ob im Modulverzeichnis eine HelpInfo-Datei existiert. Diese liegt im XML-Format vor. Ist sie vorhanden, dann gibt das Script die Versionsnummer der Hilfe aus.
Andernfalls zeigt es an, dass es für das betreffende Modul keine Hilfetexte gibt. Auch nach der Ankündigung des neuen Produktionsprozesses hat sich hier nicht viel getan, mehrere Module haben immer noch nichts vorzuweisen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Microsoft Graph: Einheitliches (PowerShell)-API für Microsofts Cloud-Dienste
- Exchange Impersonation: Service-Benutzer auf Postfächer berechtigen
- Microsoft Teams: Termineinladungen in mehreren Sprachen versenden
- Remotedesktop in Windows 11 und Server 2022 aktivieren (GUI, WAC, WMI, GPO)
- Exchange-PowerShell: Neue Scripts für Public Folder, Modul-Übersicht nach Aus für Basic Authentication