PowerShell从脚本内部将信息流重定向到详细流

时间:2019-08-20 16:01:43

标签: powershell runspace

我想在执行的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>

1 个答案:

答案 0 :(得分:2)

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-5.1

这是一个例子。 6>&4似乎不起作用。

write-host hi 6>&1 | Write-Verbose -Verbose 4>4.txt
cat 4.txt

hi