Stdin zu powershell-Skript

Habe ich ein Dienst, der aufgerufen wird, einen externen Prozess zu ändern, einen text-stream, bevor er wieder in den Dienst. Der text-stream übergeben wird aus dem Dienst des externen Prozesses auf stdout und das modifizierte Ergebnis ist zu Lesen, die vom Dienst auf stdin. Der externe Prozess ("Befehl") kann in andere Worte verwendet werden, wie ein text "filter". Ich möchte mit einem powershell-Skript zum ändern der text-stream. Ich kann erfolgreich starten eines Skripts aus dem Dienst auf win 2008r2 mit dem Befehl "powershell -executionpolicy bypass -nicht-interaktiven ./myscript.ps1".

Kann ich das script den text wieder den Dienst auf stdout Verwendung der write-host-cmdlet. Mein problem ist, dass ich kann nicht einen Weg finden, um den text zu Lesen auf stdin in das Skript. Read-host scheint nicht zu funktionieren, wie es erforderlich ist eine interaktive shell.

Ich würde gerne vermeiden, schreiben die stdout aus dem Dienst, um eine tmp-Datei und Lesen Sie diese Datei in das Skript, so wie der service ist multithreaded (kann die Einführung von mehr als einen externen Befehl zu einem Zeitpunkt) und die tmp-Datei-Verwaltung (sperren, einzigartige Dateinamen etc.) ist nicht erwünscht.

Ist dies möglich oder sollte ich zum Beispiel von Perl-für diese? Powershell scheint überzeugend, da es vorinstalliert ist auf allen meinen Windows 2008-Maschinen.

InformationsquelleAutor Stefan | 2010-05-04
Schreibe einen Kommentar