Mit PowerShell Windows-Funktionen steuern: Fenster verstecken, Klänge erzeugen

Mit PowerShell und der Win32-API können Sie Funktionen aufrufen, für die es weder Cmdlets noch Aufrufe in .NET gibt. Ein Einstieg mit Praxisbeispielen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen

(Bild: Shutterstock.com / Trismegist San)

Lesezeit: 15 Min.
Von
  • Christian Imhorst
Inhaltsverzeichnis

Viele alltägliche Probleme lösen Windows-Admins mit der PowerShell und vorhandenen Cmdlets. Außerdem lassen sich damit Prozesse automatisieren, ohne viel zu programmieren. Da es aber nicht für jede Anforderung das passende Cmdlet gibt, kann man Skripte mit eigenen Funktionen schreiben, oder sogar auf Klassen aus dem .NET Framework zurückgreifen.

Es gibt aber Fälle, die sich weder mit einem eigenen Cmdlet, noch mit einer Klasse aus dem .NET-Framework lösen lassen. In solchen Fällen muss man noch eine Ebene tiefer hinab steigen und auf die Win32-API, die Systemprogrammierschnittstelle von Windows, zurückgreifen. Das ist nicht nur für Admins auf der Suche nach einer bestimmten Funktion interessant, sondern auch für Entwickler. Wenn es bei einer bestimmten Aufgabe nur darum geht, ein oder zwei Funktionen aus der Win32-API aufzurufen, lässt sich ein PowerShell-Skript häufig schneller schreiben, als ein ausführbares Programm drumherum in C oder C++. Dieser Artikel zeigt anhand kleiner Praxisprojekte, wie das geht. Dazu lernen Sie, wie Sie mit dem P/Invoke-Mechanismus an die Funktionen der Win32-API gelangen und wie Sie damit etwa Konsolenfenster verstecken und einen Fensterstatus definieren.

PowerShell meistern: Mehr zu Microsofts Kommandozeile

Windows besteht aus Gründen der Portierbarkeit aus mehreren voneinander mehr oder weniger abhängigen Teil- oder Subsystemen, die selbstständig spezielle Aufgaben übernehmen. Einzelne Komponenten greifen dabei wie Zahnräder ineinander, um durch eine koordinierte Zusammenarbeit die Aufgaben des Betriebssystems effizient zu erledigen – sei es die Druckerwarteschlange abzuarbeiten oder das Windows Subsystem für Linux auszuführen. Mit jedem Subsystem wird in der Regel eine eigene API zur Verfügung gestellt.

Das war die Leseprobe unseres heise-Plus-Artikels "Mit PowerShell Windows-Funktionen steuern: Fenster verstecken, Klänge erzeugen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.