PowerShell 7 und Windows PowerShell. Tobias Weltner

Читать онлайн.
Название PowerShell 7 und Windows PowerShell
Автор произведения Tobias Weltner
Жанр Математика
Серия
Издательство Математика
Год выпуска 0
isbn 9783960104803



Скачать книгу

manuell aus dem Ordner c:\program files\WindowsPowerShell\Modules von einem moderneren System auf ein älteres System herüberkopieren. Allerdings löst auch das nicht die eingeschränkten Möglichkeiten der älteren Windows PowerShell-Versionen, die zum Beispiel keine Unterstützung für die parallele Installation von Modulen in unterschiedlichen Versionen bieten und also keine Module aktualisieren können, die gerade in Benutzung sind.

      Windows PowerShell 3 und 4 sollten heute möglichst nicht mehr in Gebrauch sein.

       Hilfsbefehle zum Download von Beispielcode

      Dieses Buch und die folgenden Kapitel sind prall gefüllt mit Codebeispielen.

      Damit Sie diese vielen Beispiele nicht abtippen müssen, sollten Sie unbedingt den Abschnitt »Codebeispiele automatisch herunterladen« durchgearbeitet und den darin beschriebenen Befehl Get-SampleCode mit einem Profilskript wie ab Seite 65 ständig verfügbar gemacht haben.

      Dieser Befehl und seine Kurzform L sind das wohl wichtigste Hilfsmittel, um den Beispielen in diesem Buch bequem und tippfehlerfrei folgen zu können.

       »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).

       Zusätzliche Werkzeuge

      Die PowerShell-Konsole ist zwar ausreichend, um PowerShell-Befehle aufzurufen, aber wenn Sie damit beginnen, tiefer in PowerShell einzusteigen und eigene, umfangreichere Skripte zu entwickeln, sollten Sie zusätzliche Werkzeuge installieren, die in diesem Kapitel beschrieben wurden:

       PowerShell-Editoren: Texteditoren mit zusätzlicher Unterstützung speziell für die Entwicklung von PowerShell-Code durch Vorschlagslisten, farbliche Hervorhebungen, Fehlerhinweise und Testmöglichkeiten. Windows PowerShell beinhaltet den ISE-Editor. Der plattformübergreifende Universaleditor VSCode kann nachinstalliert werden und unterstützt jede PowerShell-Version einschließlich Windows PowerShell.

       Terminaltools: Auf Windows 10 ab Build 1903 steht mit dem Windows-Terminal ein nützliches Werkzeug kostenlos bereit, das mehrere Konsolenfenster in einer Registerkartenoberfläche zusammenfasst.

       Tools für Teamwork: Sobald mehrere Personen als Team an PowerShell-Code arbeiten, werden eine Versionierung und ein gemeinsamer zentraler Austauschort (ein sogenanntes Repository) benötigt. Den stellt zum Beispiel GitHub in der Cloud bereit, und dieses Buch nutzt ein GitHub-Repository, um die Codebeispiele in diesem Buch bereitzustellen und mit Ihnen, den Lesern, in einen Dialog zu treten. Mit dem Werkzeug GitHub Desktop können Sie sehr einfach und intuitiv Inhalte aus dem Repository lokal herunterladen und Änderungen mit dem Repository synchronisieren.

       Kapitel 2

       Überblick: Was PowerShell leistet

       In diesem Kapitel:

       Befehle lösen Aufgaben

       Literale

       Cmdlets: die PowerShell-Befehle

       Anwendungsprogramme (Applications)

       .NET-Methoden

       Operatoren

       Befehle verbinden

       Neue Befehle nachrüsten

       Zusammenfassung

       Ausführlich werden in diesem Kapitel die folgenden Aspekte erläutert:

       Befehle: Mit Befehlen lösen Sie einzelne Aufgaben. Je mehr Befehle zur Verfügung stehen, umso einfacher wird die Automation, denn umso mehr unterschiedliche Dinge können Sie mit PowerShell dann tun. Deshalb stellt PowerShell einen möglichst umfangreichen Befehlswortschatz zusammen, der aus PowerShell-Befehlen (den sogenannten Cmdlets, sprich »Commandlets«), Anwendungsprogrammen und .NET-Methoden besteht.

       Cmdlets: Die Namen dieser Befehle setzen sich immer aus einem Verb und einem Nomen zusammen, getrennt durch einen Bindestrich. Dank dieser Systematik kann man mit Get-Command gezielt nach Cmdlets suchen. Cmdlets stammen grundsätzlich aus externen Modulen, die nachrüstbar sind (zum Beispiel mit Install-Module). Wenn Cmdlets intern aus reinen PowerShell-Befehlen bestehen, nennt man sie auch Functions.

       Anwendungen (Applications): Anwendungsprogramme