![通过 2008r2 上的域 GPO 将 .ps1 关联到 powershell.exe](https://linux22.com/image/545621/%E9%80%9A%E8%BF%87%202008r2%20%E4%B8%8A%E7%9A%84%E5%9F%9F%20GPO%20%E5%B0%86%20.ps1%20%E5%85%B3%E8%81%94%E5%88%B0%20powershell.exe.png)
我需要通过 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 刷新。