当记事本不是默认应用程序时,如何从Windows资源管理器运行PowerShell脚本?

时间:2016-09-23 17:32:41

标签: windows powershell contextmenu

似乎Windows在ps1文件的内容菜单中显示“使用PowerShell运行”的唯一时间是默认应用程序是记事本。如果我将默认应用程序更改为PowerShell ISE(或任何其他编辑器),则不会出现“使用PowerShell运行”上下文项。

Windows 7 Professional SP1,WMF 4.0

2 个答案:

答案 0 :(得分:3)

在Windows 10中按“开始”,然后键入“默认应用程序设置”,单击“默认应用程序设置”。出现一个新窗口“按文件类型选择默认应用程序”。滚动到“.ps1”。单击当前的应用程序图标,然后选择记事本。

正如elmonty所说,这将在右键单击ps1文件时恢复“使用PowerShell运行”上下文菜单条目。

您可以将以下内容复制到文本文件中并导入注册表。这将打开PowerShell控制台并在双击ps1文件时执行脚本。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open\Command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" \"-Command\" \"if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'\""

或打开注册表,导航至:

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open\Command]

doulbe单击(默认)字符串条目并在“值数据:”中输入以下内容:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"

答案 1 :(得分:1)

我找到了答案。您必须将默认应用程序设置回记事本。这将恢复“使用PowerShell运行”上下文项。接下来,您必须直接在注册表中编辑“打开方式”应用程序,此处:

\ HKEY_CLASSES_ROOT \ Microsoft.PowerShellScript.1 \壳牌\打开\命令

将值更改为:

“C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell_ise.exe”“%1”

或者您可以将其更改为您选择的编辑器。