PowerShell Script starten in VB.NET
PowerShell wird immer mächtiger und gewinnt somit immer mehr an Bedeutung. Manchmal sind bestimmte Aufgaben per PowerShell sehr einfach abzubilden, was in VB.NET sehr schwer umzusetzen ist. Deswegen kann es hilfreich sein ein PowerShell Script starten zu lassen im VB.NET Code. Doch wer sich schon ein wenig mit PowerShell beschäftigt hat weiß, dass der Aufruf eines Scripts nicht so einfach ist, wie bei einer Batch-Datei. Wir zeigen euch anbei, wie man mit Visual Studio in VB.NET ein PowerShell Script aufrufen kann.
Ein PowerShell Script mit VB.NET Code ausführen
Wie oben schon genannt, gibt es oft Anwendungsfälle, welche mit PowerShell sehr viel einfacher auszuführen sind, als mit VB.NET. Ein klassisches Beispiel ist hier das Erzeugen oder Verwalten von Zertifikaten. Möchte man nun in seinem VB Projekt ein PS-Script ausführen lassen, so lässt man am Besten einen neuen Prozess starten.
Dim proc As Process proc = Process.Start("powershell.exe", "-File ""C:\DEINSCRIPT.ps1""") proc.WaitForExit()
In dem Code wird ein neuer Prozess erstellt, welcher die PowerShell.exe ausführt und als Script die angegebene Datei ausführt. Möchte man noch weitere Parameter übergeben, baut man folgenden Teil noch in den Kopf des Scripts, um die Parameter abfragen zu können:
param( [string]$parameter1, [string]$parameter2 )
Natürlich müssen jetzt die Argumente noch übergeben werden. Das geschieht im VB.NET Code beim Aufrufen des Scripts. Hier werden mit Leerzeichen getrennt noch weitere Argumente angehängt.
Dim proc As Process proc.Arguments = "Parameter1" proc = Process.Start("powershell.exe", "-File ""C:\DEINSCRIPT.ps1""") proc.WaitForExit()
Somit ist die Übergabe eines Parameters von VB.NET zu PowerShell kein Problem mehr und das Ausführen des Scripts klappt auch.