2017-04-13 126 views
0

我試圖註冊一個PowerShell腳本,當我點擊Windows應用程序(如Outlook)中的URL時運行。 (我希望能夠根據不同的URL模式在不同的瀏覽器/應用程序中打開網址)。爲什麼Powershell從註冊表打開/命令運行時失敗

我添加

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

HKEY_CLaSSES_ROOT\http\shell\open\command(取代谷歌瀏覽器,我的默認)。

該命令工作正常,當我從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= 

設置策略來無限制沒有解決這個問題。

我該如何找出錯誤可能是什麼以及如何解決?

+3

你可以在腳本的最後放一段暫停來保持控制檯打開嗎?可能會讓你更靠近一步...... –

+2

http://stackoverflow.com/questions/1337229/powershell-window-disappears-before-i-can-read-the-error-message – goldenwest

+0

然後,你將能夠閱讀錯誤 – goldenwest

回答

1

-noexit添加到您的命令行以防止PowerShell控制檯立即關閉。

+0

謝謝@iRon!有了這個,我能夠查看錯誤,無法加載文件U:\ win \ bin \ url-handler.ps1,因爲在此係統上禁用了腳本的執行。有關更多詳細信息,請參閱「get-help about_signing」。有了這個,我應該能夠解決我的問題通過http://stackoverflow.com/questions/4037939/powershell-says-execution-of-scripts-is-disabled-on-this-system – djb

相關問題