将标准输入传递给PowerShell脚本

6
我有一个服务正在运行,可以调用外部进程来修改文本流,然后将其返回给服务。文本流从服务传递到外部进程的标准输出上,并且修改后的结果从服务的标准输入中读取。换句话说,外部进程(命令)可以用作文本“过滤器”。我想使用PowerShell脚本来修改文本流。我可以成功地在win 2008r2上使用命令“powershell -executionpolicy bypass -noninteractive ./myscript.ps1”从服务启动脚本。我可以使用write-host cmdlet使脚本将文本返回到服务的标准输出。我的问题是,我找不到一种在脚本中读取标准输入的方法。Read-host似乎不起作用,因为它需要交互式shell。我想避免将服务的标准输出写入临时文件,并在脚本中读取该文件,因为服务是多线程的(可以同时启动多个外部命令),不希望进行临时文件管理(锁定、唯一文件名等)。这是否可能?还是我应该使用Perl?由于PowerShell预安装在我所有的win 2008机器上,所以PowerShell似乎很有吸引力。
1个回答

6

仅供参考 - 我会看一下 [Console]::In | gm -static


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接