我需要通过 2008r2 DC 中的 GPO 将 .ps1 与 powershell.exe 关联,而不是与记事本关联。我看到一个问题提到了计算机配置\首选项\控制面板设置\文件夹选项下的 CSE 并在那里进行设置。但我不确定具体该怎么做,而且我在任何地方都找不到任何有用的东西。
答案1
你已经接近了。在文件夹选项下,右键单击区域的主要部分,然后转到新建 -> 文件类型
Action: Create
File extension: .ps1
Check Configure Class Settings
Under Action -> New
Action: Open
Application: *Path to Powershell*
然后确定/保存。
编辑:找不到该类,我甚至使用 PowerShell 提取该下拉列表并搜索它......什么也没有。
有一种方法可以通过组策略中的注册表进行设置。该类是 Microsoft.PowerShellScript.1,其完整路径为:
HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open\Command
将(默认)值更改为:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-file" "%1"
这是在 GPOE 中找到的:
\Computer Configuration\Preferences\Windows Settings\Registry
概括:创建一个新的注册表项:
Settings:
Action: Update
Hive: HKEY_CLASSES_ROOT
Key Path: Microsoft.PowerShellScript.1\Shell\Open\Command
Value name: Check Default
Value type: REG_SZ
Value data: "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-file" "%1"
然后等待机器上的 GP 刷新。