PowerShell 7 und Windows PowerShell. Tobias Weltner

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



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

Text. image

      >> Das geht so lange, bis ich die Lust verliere." image

      >>image

      Hallo

      Dies ist mein kleines Tagebuch.

      Ich schreibe jetzt einen mehrseitigen Text.

      Das geht so lange, bis ich die Lust verliere.

      Erst wenn Sie das Abschlusszeichen eingeben (und dann noch zweimal image drücken), akzeptiert PowerShell die mehrzeilige Eingabe. War alles ein Versehen, brechen Sie mit image + image ab. Danach drücken Sie auf image, um die letzte Eingabe zurückzubekommen.

       PowerShell-Hilfe aus dem Internet nachladen

      PowerShell und seine Cmdlets sind gut dokumentiert, allerdings müssen die Hilfetexte für PowerShell (einmalig) mit Update-Help aus dem Internet nachgeladen werden.

      Leider speichert Windows PowerShell seine Hilfedateien im Windows-Ordner, und der darf nur von Administratoren geändert werden. Deshalb kann die PowerShell-Hilfe nur aktualisiert werden, wenn Sie den folgenden Befehl mit vollen Administratorrechten ausführen (und über eine Internetverbindung verfügen):

      PS> Update-Help -UICulture En-US -Force image

      Bei PowerShell dagegen unterstützt Update-Help neuerdings den Parameter -Scope, mit dem Sie festlegen, ob die Hilfe für alle Anwender (mit Administratorrechten) oder nur für den aktuellen Anwender (ohne Administratorrechte) installiert werden soll:

      PS> Update-Help -UICulture en-us -Force -Scope CurrentUser

       Achtung

      Windows PowerShell und PowerShell speichern die Hilfedateien an unterschiedlichen Orten, sodass Sie den Befehl Update-Help in beiden PowerShell-Konsolen ausführen müssen, wenn Sie Windows Power-Shell und PowerShell parallel verwenden.

      Es ist übrigens völlig normal, wenn Update-Help am Schluss eine rote Fehlermeldung ausgibt. Üblicherweise beschwert sich die Meldung bloß darüber, dass für einige (wenige) PowerShell-Module keine Hilfe gefunden wurde. Das ist normal.

      Auch wenn Sie noch nicht wissen, was Module eigentlich sind: Es gibt eine Menge davon. Wenn eine Handvoll Module keine Hilfe anbieten, ist das nicht schlimm.

      PS> (Get-Module -ListAvailable).Count

      97

      Ab sofort erhalten Sie mit Get-Help ausführliche Hilfestellung zu PowerShell-Befehlen. Ohne Update-Help hätte die Hilfe keine Beispiele und Beschreibungen enthalten:

      PS> Get-Help -Name Get-Service -ShowWindow image

       Abbildung 1.14: Hilfe zu PowerShell-Befehlen in einem Extrafenster anzeigen

       Achtung

      Grafische Oberflächen (wie das Hilfefenster in Abbildung 1.14) stehen derzeit lediglich in Windows zur Verfügung. In anderen Betriebssystemen wie z. B. Linux funktionieren solche Befehle nur eingeschränkt oder gar nicht.

      Rufen Sie hier beispielsweise den Befehl Get-Help mit dem Parameter -Full anstelle von -ShowWindow auf. Die Hilfe erscheint dann direkt in der Konsole.

       Tipp

      Falls Sie Schwierigkeiten mit der lokalen Hilfe haben, lassen Sie sich die Hilfe kurzerhand online im Browser anzeigen – dort sieht sie meist ohnehin schicker und übersichtlicher formatiert aus. Nutzen Sie dazu den Parameter -Online:

      PS> Get-Help -Name Get-Service -Online image

      In Ihrem Browser öffnet sich nun die Hilfe, die links verwandte Befehle und rechts die Abschnitte der Hilfe anzeigt, zum Beispiel per Klick auf Examples die Beispiele.

image

       Abbildung 1.15: Onlinehilfe für PowerShell-Befehle

      Ob eine Onlinehilfe für einen Befehl zur Verfügung steht, bestimmt ausschließlich sein Autor. Microsoft hat alle seine PowerShell-Befehle damit ausgestattet, aber einen gesetzlichen Anspruch darauf gibt es nicht. Möchten Sie automatisch immer in einer PowerShell-Sitzung die Onlinehilfe nutzen, ohne jedes Mal den Parameter -Online anzugeben, führen Sie diese Zeile aus:

      $PSDefaultParameterValues['Get-Help:Online'] = $true

      Sie sorgt dafür, dass der Befehl Get-Help (der auch hinter dem Parameter -? steckt) den Parameter -Online künftig immer als Vorgabewert verwendet – jedenfalls so lange, bis Sie die PowerShell-Sitzung wieder schließen.

       Skriptausführung erlauben

      Interaktive Befehle dürfen Sie in PowerShell jederzeit ausführen. Skripte, also Dateien mit der Erweiterung .ps1, sind anfangs allerdings verboten.

      Das ist natürlich Unsinn, weil sich so PowerShell kaum nutzen lässt, und Sie müssen diese Sperre unbedingt sofort aufheben. Selbst wenn Sie gar nicht planen, eigene Skripte zu schreiben, nutzen viele PowerShell-Befehlserweiterungen intern Skripte und funktionieren nicht, solange die Skriptausführung verboten ist.

      Ob Skripte erlaubt sind, bestimmt die sogenannte ExecutionPolicy. Set-ExecutionPolicy kann die Einstellungen ändern. Der folgende Befehl erlaubt dem aktuellen Benutzer, künftig lokale Skripte auszuführen. Skripte, die aus dem Internet heruntergeladen wurden, bleiben allerdings gesperrt:

      PS> Set-ExecutionPolicy –Scope CurrentUser –ExecutionPolicy RemoteSigned –Force image

      Die gewählte Einstellung RemoteSigned ist zugegebenermaßen alles andere als intuitiv, denn was haben »Remote« und »Signed« miteinander zu tun? Tabelle 1.1 erklärt die möglichen Einstellungen deshalb etwas genauer.

Bedeutung
RemoteSigned Lokale Skripte sind erlaubt. Skripte, die aus dem Internet heruntergeladen wurden oder auf Computern lagern, die nicht zur Domäne gehören, sind verboten. Sie können nur durch eine gültige digitale Signatur am Ende des