Читать книгу PowerShell 7 und Windows PowerShell - Tobias Weltner - Страница 120
»Fehlende Befehle« verstehen
ОглавлениеPowerShell und Windows PowerShell sind zwar grundsätzlich kompatibel miteinander, aber das heißt nicht, dass beliebiger PowerShell-Code plattformübergreifend in jeder PowerShell-Version und auf jedem Betriebssystem immer einwandfrei funktioniert.
Weil PowerShell seinen Befehlssatz dynamisch aus verschiedenen Quellen zusammensetzt (siehe Kapitel 2), besteht das häufigste Problem darin, dass sich PowerShell über fehlende Befehle beklagt:
PS> Get-Process | Out-GridView
Out-GridView: The term 'Out-GridView' is not recognized as a name of a cmdlet, function, script
file, or executable program. Check the spelling of the name, or if a path was included, verify that
the path is correct and try again.
Sofern die Ursache kein Tippfehler war und der Befehl tatsächlich fehlt, ist dieses Problem »by Design«: PowerShell stellt diejenigen Befehle bereit, die es vorfindet, und welche das sind, hängt von vielen Faktoren ab. Sie müssten also ermitteln, woher der fehlende Befehl kommt und ob und wie man ihn nachrüsten oder ersetzen kann.
Das sehr verbreitete und beliebte Cmdlet Out-GridView, das Dialogfenster anzeigt, fehlt beispielsweise, sobald Sie PowerShell nicht auf dem Windows-Betriebssystem ausführen. Der Grund ist technischer Natur und hat damit zu tun, dass PowerShell (bisher) nur im Windows-Betriebssystem die Möglichkeit hat, grafische Elemente und Fenster darzustellen.
Auf Seite 36 haben Sie schon gesehen, wie man dieses Problem trotzdem lösen kann: Install-Module kann eine Erweiterung installieren, die den Ersatzbefehl Out-ConsoleGridView nachrüstet und die grafischen Dialoge durch Textdarstellungen simuliert.
Dasselbe gilt für viele andere Cmdlets, die man häufig durch zusätzliche PowerShell-Module nachrüsten kann (mehr dazu in den Kapiteln 2 und 16).