我想在执行的PowerShell脚本(不是从PowerShell命令行)的内将信息流重定向到详细流。
据我所知,获取信息流对象上的句柄的唯一方法是通过System.Management.Automation.PowerShell
实例。如果利用隔离的PowerShell实例,我可以添加一个事件处理程序,如下所示:
$psInstance.Streams.Information.add_DataAdding({
param($sender, $e)
Write-Verbose $e.ItemAdded
})
但就我而言,我希望从执行脚本中执行此操作。...因此,如果我可以执行以下操作:
$psInstance = [PowerShell]::Current
如果Current
属性确实存在...
所以,我的问题是-我可以获取当前正在执行的System.Management.Automation.PowerShell
实例的句柄,还是代替它,我可以从执行脚本中将信息流重定向到详细流?< / p>
答案 0 :(得分:2)
这是一个例子。 6>&4似乎不起作用。
write-host hi 6>&1 | Write-Verbose -Verbose 4>4.txt
cat 4.txt
hi