2017-04-20 44 views
2

根据问题出在哪里,这个问题可能会或可能不适合超级用户,但由于我找不到问题出在哪里,所以我会先试着在这里发布它,让我知道如果它应该被移动。使用键盘快捷方式启动powershell脚本

我试着看着this StackOverflow post,但海报没有和我一样的问题。我目前的猜测是,我在启动PowerShell实例时缺少某种形式的参数。


我想使用键盘快捷键启动PowerShell脚本。我现在的脚本(超级简单,只要将提示是/否弹出)看起来是这样的:

$a = new-object -comobject wscript.shell 
$a.popup("Here's a test script", 0,"Title goes here", 4) 

为了确保它不是任何查找问题,我把两个脚本和快捷方式脚本

  • C::在桌面上,即\用户\我\桌面\ ShortcutTest.ps1
  • C:\用户\我\桌面\ ShortcutTest - shortcut.ps1

快捷方式有在属性中的以下设置IES:

 
Target:  C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File 'C:\Users\me\Desktop\ShortcutTest.ps1' 
Start in:  C:\Users\me\Desktop 
Shortcut key: Ctrl + Alt + Q 

的问题是,当我按下启动成功一个PowerShell窗口快捷,但它会立即关闭该实例。

故障排除到目前为止

  • 运行快捷方式作为管理员,相同的结果
  • 更改快捷键的位置,同样的结果
  • 更改实际脚本,同样的结果的位置(它最初驻留在防止脚本的服务器上)
  • 切换快捷方式的“开始”和“目标”部分,结果相同
  • 从快捷方式中的'Target'中删除-File参数使得PowerShell实例保持打开状态,所以我猜测我缺少脚本中的某种形式的参数设置,或者从快捷方式调用它时。
  • 将脚本内容更改为一个简单的'写主机'大成功''仍然立即关闭PowerShell实例,进一步使我怀疑它是'Target'(-File和-ExecutionPolicy)中使用的参数,它是遗漏了什么。

如果任何人有任何提示,我可以如何解决这个问题,或至少进一步排除故障,将不胜感激!

+0

“当我按下快捷启动成功一个PowerShell窗口,但它立即关闭实例。”你期望发生什么?它运行脚本并且shell终止。你是说你想让脚本运行,但脚本完成后控制台窗口仍然保留? –

+0

嗯,抱歉不清楚:)脚本应该等待用户点击提示窗口中的其中一个框。当手动运行脚本时,它会提示用户是否有空格,但是当我使用快捷键运行时,不会显示提示。 – MagneTism

+1

试试这个,它对我有用另一个文件我有: C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -WindowStyle隐藏-ExecutionPolicy ByPass -File'C:\ Users \ me \ Desktop \ ShortcutTest .ps1' –

回答

2

试试这个:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" - 
    WindowStyle Hidden -ExecutionPolicy ByPass -File 
    'C:\Users\me\Desktop\ShortcutTest.ps1'