Write-Host 'Hello World!' powershell befehl funktioniert in c# programm nicht

Florian Strienz

Erfahrenes Mitglied
Hallo zusammen,
ich komme aus der Java-Ecke und arbeite mich momentan in C# ein. Ich möchte mit einem Windows Forms Programm ein Powershell Skript/Befehl ausführen.

Weiß jemand zufällig, wieso ich z.B. das hier ausführen und in meinem Gui ausgeben kann

Code:
while(1)
{
    Get-Process | Out-String -stream
    Start-Sleep -milliseconds 1000
}

aber bei so was eine Fehlermeldung erhalte
Code:
Write-Host 'Hello World!'
"Diese Funktion kann nicht aufgerufen werden, da sie vom aktuellen Host nicht implementiert wird."

In der Shell direkt geht es. Ich vermute in meinem C# Programm habe ich keine Shell in diesem Sinne und darum führt er es nicht aus. Aber wie Schaffe ich, dass das geht und Hello World an dem Standard out und somit dann in meinem Gui ankommt? Workaround wäre natürlich die powershell im Gui zu starten und ihr das Skript zu übergeben. Aber geht das nicht schöner?

Oder habe ich hier einen Denkfehler?

Gruß&Danke
Flo
 
Mit dem Code aus dem Link kann man den Fehler exakt reproduzieren. In dem Beispielprogram gibt es die gleiche Fehlermeldung, wenn man die Write-Host
Funktion aus der Powershell benutzen will. ;)
 
Zurück