为什么从注册表打开/命令运行时powershell会失败

时间:2017-04-13 16:39:03

标签: windows powershell registry

当我点击Windows应用程序(例如Outlook)中的URL时,我尝试注册PowerShell脚本。 (我希望能够根据不同的URL模式在不同的浏览器/应用中打开URL)。

我已添加

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -file c:\win\bin\url-handler.ps1 "%1"

转到HKEY_CLaSSES_ROOT\http\shell\open\command(取代Google Chrome,我的默认设置)。

当我从CMD控制台运行它时,该命令正常工作。但是,当我在Outlook中单击某个URL时,会打开一个控制台窗口,出现一条红色错误消息,然后控制台关闭得太快,我无法阅读它。

我可以在事件查看器(对于应用程序PowerShell)中找到的唯一错误日志显示

Engine state is changed from Available to Stopped. 

Details: 
NewEngineState=Stopped
PreviousEngineState=Available

SequenceNumber=10

HostName=ConsoleHost
HostVersion=2.0
HostId=7ca63c36-fcc1-4fbe-9488-dfc505a80141
EngineVersion=2.0
RunspaceId=a28185bd-f8da-4648-99aa-86066d199e04
PipelineId=
CommandName=
CommandType=
ScriptName=
CommandPath=
CommandLine=

将策略设置为Unrestricted并未解决此问题。

如何追踪错误可能是什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

-noexit添加到命令行以防止PowerShell控制台立即关闭。