MessageBox mit PowerShell realisieren
Jeder hat schon einmal eine MessageBox gesehen. Diese sind oft für kleine Informationen an den Benutzer praktisch. Eine MessageBox mit PowerShell ist ganz einfach mit ein paar wenigen Zeilen Code zu realisieren.
MessageBox mit PowerShell erstellen
Unter Entwicklern spricht man von einer MessageBox. Für Laien ist das ein kleines Info-Fenster. Solch ein Information-Fenster lässt sich ganz einfach mit PowerShell realisieren und benötigt nicht viele Kenntnisse. Wie gewohnt lässt sich der Titel, Nachricht, Icon und Buttons bearbeiten und darstellen.
Damit die Windows PowerShell eine MessageBox darstellen kann, muss zuerst ein bestimmtes Assembly geladen werden, natürlich ebenfalls mit PS:
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
Der Grundbefehl zur Ausgabe einer Info-Box lautet dann folgendermaßen:
[System.Windows.Forms.MessageBox]::Show("Deine Nachricht","Dein Titel",0)
Nachdem dies Ausgeführt wurde, erhaltet ihr ein kleines Fenster mit der angegebenen Information, wie im Bild oben zu sehen ist.
MessageBox Parameter
Natürlich kann die MessageBox mit PowerShell noch viel mehr, wie Icons anzeigen, mehrere Buttons oder auch Sound abspielen. Hierzu gibt es aber mehrere MessageBox Parameter, welche wir euch hier in einer Liste zusammengefasst haben.
Buttons in der MessageBox
Wert
Buttons
0
OK
1
OK, Cancel
2
Abort, Retry, Ignore
3
Yes, No, Cancel
4
Yes, No
5
Retry, Cancel
Icons in der MessageBox
Wert
Icons
Sternchen
Information
Error
Fehler
Exclamation
Ausrufezeichen
Hand
Hand
Information
Information
None
kein Symbol
Question
Frage
Stop
Stopp
Warning
Warnung
MessageBox mit PowerShell – Ein Beispiel
Damit ihr nicht komplett im dunkeln tappen müsst, habe ich ein kleines Beispiel vorbereitet. In diesem Beispiel sind die wichtigsten Funktionen abgedeckt, um ein Gefühl dafür zu bekommen. Hier frage ich den Benutzer, ob er seinen Computer neu starten möchte. Wenn JA geklickt wird, dann wird ein Neustart ausgeführt. Als Icon wird ein Ausrufezeichen verwendet.
$msgboxresult = [System.Windows.Forms.MessageBox]::Show("Moechten Sie den Computer neu starten?","Frage",4,[System.Windows.Forms.MessageBoxIcon]::Exclamation) If ($msgboxresult -eq "Yes") { sthutdown.exe -r -t 0 } else { # nichts ausfuehren }
So einfach lässt sich eine MsgBox in PowerShell erstellen und in ein bestehendes Script einbauen.