我是 Windows Server 2008 域的成员。有一个登录脚本(据称配置为通过 GPO 登录时执行)用于设置网络共享的权限。但是,它并没有被执行,而是在我的文本编辑器中打开。我推测注册表更改影响了 .vbs 的默认 shell(“双击”)操作,并且 Windows Server 2008(或可能是这个特定的 GPO)假定默认 shell 操作是“执行”。有没有办法在本地修复此问题?有没有办法修复 GPO 以明确将脚本传递给 Windows 脚本主机?
答案1
我从未见过这种特殊问题,但您可以使用“组策略首选项”来解决文件关联问题。您可以:
计算机配置 -> 首选项 -> 控制面板设置 -> 文件夹选项
(右键单击 -> 新建文件类型)
或者
用户配置 -> 首选项 -> 控制面板设置 -> 文件夹选项
(右键点击 -> 新打开方式)
计算机配置为您提供了完整的配置选项,类似于在机器上的文件夹选项中手动更改。用户配置只为您提供了一个“执行”选项,您可以将其设置为默认值。
计算机配置是首选 - 只需进入一台正常工作的机器并复制设置。我思考这对你有用,但你需要进行实验:
或者,像@uSlackr 一样,将其作为批处理脚本运行并调用 VBS。不过在我看来,这更像是一种解决方法,而不是一种解决方案。
答案2
看来 Windows server 2008 仍然默认将 wscript $1 作为 vbsfile 类型的默认操作,因此也许这是一个可以撤消的本地更改。
您能否更改登录脚本的 GPO 策略以运行命令行而不是直接运行脚本?例如:
wscript ourlogin.vbs
答案3
听起来你的客户需要将 VB 脚本文件的默认操作从使用 Notepad.exe 打开更改为使用 Cscript.exe 或 Wscript.exe 打开。
以下 URL 提供了重置注册表文件。XP 注册表文件与我的 XP 注册表相匹配。您需要检查 Vista 和 W7 文件。
http://www.nilpo.com/2009/07/windows-xp/restoring-vbs-vbscript-script-file-file-associations/
您可能想要检查为什么有人在客户端上更改了此设置 - 这是一个安全设置,更改它可能会违反策略,或者可能会被首先这样设置的任何设置(GPO,AV 客户端等)所阻止。