我有Powershell脚本,可以向事件添加注册,但是当事件为跳转时,每次事件为跳转时都会出现以下错误:
“没有可用于在此线程中运行脚本的运行空间”
我正在使用PS v2,该怎么办?
你能提供一些代码吗?
谢谢
最佳答案
您是否在第三方PowerShell主机中?那是一个错误;)
如果您正在使用Async回调,那么问题是您正在其他线程中运行,并且[Runspace]::DefaultRunspace
是线程静态的。 @ x0n不久前为异步回调写了一个桥(我看看是否能找到它)。
最重要的是,您需要执行错误所提示的操作:在System.Management.Automation.Runspaces.Runspace类型的DefaultRunspace属性中提供一个。但是您必须在要执行代码的线程中执行此操作,因此异步回调有点困难。
[Management.Automation.Runspaces.Runspace]::DefaultRunspace = [RunspaceFactory]::CreateRunspace()