PowerShell 7 und Windows PowerShell. Tobias Weltner

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



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

Command .exe: powershell_ise (x64) [Gui] 10.0.19041.1 Gui

      Das Ergebnis listet in der Spalte Command nicht nur die gefundenen Applications auf, sondern zeigt in der Spalte Type auch an, ob es sich um eine grafische Anwendung handelt oder um einen Konsolenbefehl. Typischerweise sind nützliche Applications vom Typ Console.

      Dieser nützliche Service steht allerdings ausschließlich auf dem Windows-Betriebssystem zur Verfügung, weil nur hier Applications mit dem sogenannten PE-Header anzeigen, um was für eine Sorte von Anwendung es sich handelt.

      Find-PowerShellCommand kann noch weitaus mehr für Sie finden, was aber den Rahmen des Buchs an dieser Stelle sprengt. Eine genauere Beschreibung und viele weitere Beispiele finden Sie hier: https://github.com/TobiasPSP/PsCommandDiscovery.

       Systemsteuerung automatisieren

      Was die einzelnen gefundenen Anwendungen tun, sieht man ihnen »von außen« meist nicht so richtig an. Die Dateierweiterung kann aber erste Hinweise geben.

      Die gefundene Application powercfg.cpl gehört wie alle Anwendungen mit der Dateierweiterung .cpl zur Systemsteuerung, und wenn Sie die Application ausführen, öffnet sich die entsprechende Seite zur Verwaltung der Energieoptionen (siehe Abbildung 2.11):

      PS> powercfg.cpl

       Abbildung 2.11: Einstellungen der Systemsteuerung öffnen

       Tipp

      Haben Sie es bemerkt? In diesem Fall mussten Sie die Dateierweiterung .cpl zwingend angeben, denn ohne sie gäbe es bei dieser Application Mehrdeutigkeiten:

      PS> Get-Command -Name powercfg -All

      CommandType Name Version Source

      ----------- ---- ------- ------

      Application powercfg.exe 10.0.19041.1 C:\WINDOWS\system32\powercfg.exe

      Application powercfg.cpl 10.0.19041.1 C:\WINDOWS\system32\powercfg.cpl

      Tatsächlich existieren bei Windows-Systemen die Befehle powercfg.exe und powercfg.cpl. Wenn Sie die Dateierweiterung nicht angeben, wird bei Mehrdeutigkeiten immer der oberste Eintrag der Liste ausgeführt, also powercfg.exe. Das ist ebenfalls ein nützlicher Befehl, der aber etwas ganz anderes tut als powercfg.cpl. Sie können mit ihm in wenigen Augenblicken komfortable Akkunutzungsreports herstellen.

      Aus diesen Gründen ist es eine gute Idee, bei Anwendungsprogrammen immer die Dateierweiterung mit anzugeben und für klare Verhältnisse zu sorgen.

      Zwar können Sie die Energieoptionen in diesem Dialogfeld nicht von PowerShell aus verändern, aber zumindest gelangen Sie mit dem Befehl direkt und ohne Klickfolgen zu den Einstellungsmöglichkeiten – falls Sie dort häufiger zu tun haben. Andere Systemsteuerungskomponenten finden Sie jeweils über ihre Dateierweiterung:

      PS> Get-Command -Name *.cpl -CommandType Application

      CommandType Name Version Source

      ----------- ---- ------- ------

      Application appwiz.cpl 10.0.19041.423 C:\WINDOWS\system32\appwiz.cpl

      Application bthprops.cpl 10.0.19041.388 C:\WINDOWS\system32\bthprops.cpl

      Application desk.cpl 10.0.19041.1 C:\WINDOWS\system32\desk.cpl

      Application Firewall.cpl 10.0.19041.1 C:\WINDOWS\system32\Firewall.cpl

      Application hdwwiz.cpl 10.0.19041.1 C:\WINDOWS\system32\hdwwiz.cpl

      Application MLCFG32.CPL 16.0.13328.20130 C:\Program Files (x86)\Microsoft Office\r...

      Application mmsys.cpl 10.0.19041.1 C:\WINDOWS\system32\mmsys.cpl

      (…)

       Systembefehle nutzen

      Auch wenn die PowerShell keine Hände hat, um die Maus zu bedienen, und deshalb Dialogfelder wie das in Abbildung 2.11 nicht bedienen kann, hat sie aber dennoch die gleichen Zugriffsmöglichkeiten auf die dahinterliegenden Systembefehle. Wenn Sie also die Energiesparoptionen eines Windows-Systems automatisiert konfigurieren wollen, nutzen Sie nicht das Dialogfeld, sondern direkt die für die Einstellungen zuständigen Betriebssystembefehle.

      Das wäre in diesem Fall die Application powercfg.exe. Wie meistens bei Applications ist es schwieriger, diesen Befehl aufzuspüren, als ihn anschließend einzusetzen. Schauen wir uns an, was diese Application kann.

       Akkunutzungsreport generieren

      Die Anwendung powercfg.exe ist zuständig für alle Energiesparfunktionalitäten in Windows-Systemen und kann nicht nur das konfigurieren, was das Dialogfeld von eben den Anwendern anbietet, sondern weitaus mehr. Auf Notebooks generiert der Befehl zum Beispiel auf Wunsch einen ausführlichen Nutzungsreport des eingebauten Akkus (siehe Abbildung 2.12), der überaus hilfreich ist, um festzustellen, warum sich der Akku wieder einmal viel zu schnell entladen hat.

       Abbildung 2.12: Akkureport über Betriebssystembefehle generieren

      Schauen wir uns zunächst eine PowerShell-Lösung an, die einen Nutzungsreport der letzten 14 Tage generiert:

      New-Item -Path 'c:\report' -ItemType Directory -ErrorAction Ignore

      # Batteriereport der letzten 14 Tage generieren

      # und als HTML speichern:

      powercfg /batteryreport /duration 14 /output c:\report\report.html

      # Generierten Report mit Browser öffnen:

      Invoke-Item -Path 'c:\report\report.html'

       Listing 2.3: Vollautomatisch Akkureport der letzten 14 Tage generieren

      Listing 2.3 hat im Grunde lediglich drei Befehle kombiniert: zwei Cmdlets und eine Application. Die Lösung besteht aus diesen drei Automationsschritten:

       Ordner anlegen: New-Item legt einen neuen Ordner an, in dem der Report gespeichert werden soll. Wenn Sie künftig Dateien oder Ordner neu anlegen wollen, kennen Sie jetzt den dafür nötigen »Legobaustein«: New-Item.

       Akkureport generieren: PowerShell verfügt über kein Cmdlet, um einen Akkureport anzulegen, aber das Betriebssystem schon: powercfg.exe. Was erneut zeigt, wie ausgesprochen nützlich es ist, dass PowerShell neben seinen eigenen Cmdlets auch Applications mitnutzen kann.

       Report öffnen: Invoke-Item entspricht dem Doppelklick auf eine Datei. Die Datei wird also mit dem dafür zuständigen assoziierten Programm geöffnet. Weil der Report in Form einer HTML-Datei generiert wurde, wird er also mit dem Standardbrowser angezeigt.

      Und schon wieder haben Sie einen universellen Legobaustein kennengelernt.