在我的活动目录中,我当前在域对象上有一个包含登录脚本的 GPO。
我想创建一个新组,可以向其中添加用户,并让其运行附加的/不同的登录脚本。
我尝试创建一个新的 OU,将组放入 OU 中,并将用户添加到该组中。在 OU 中,我创建了一个 GPO 并设置了用户登录脚本 - 我使用浏览按钮导航到脚本文件。UNC 路径看起来正确,我验证了用户/机器实际上可以访问它并正确运行它。
问题是它似乎不起作用。我重启机器,登录,脚本似乎没有运行。
我猜测这可能是因为其他域 GPO 中的登录脚本(设置为不覆盖)(也许不覆盖就是问题所在……?)?
您是否只能从单个 GPO 定义一个登录脚本,或者您是否能够拥有多个 GPO,每个 GPO 都有登录脚本?
答案1
是的,完全可以在多个 GPO 中运行多个登录脚本,但可能不完全按照您想要的方式。
第一个选项
这种方法对我们来说效果很好,但您的需求可能有所不同。拥有多个 OU 和子 OU,并在链的下游应用带有链接登录脚本的不同 GPO。
以以下 OU 结构为例 - 我有一个链接到 Acme Widgets 的全局登录脚本 GPO、一个链接到内部的内部登录脚本 GPO 以及其下方的各种部门特定登录脚本。实际上,我有多个链接到 Acme Widgets 和内部的登录脚本,适用于 XP、Vista 和 7,这些脚本根据 GPO 上的操作系统版本 WMI 过滤器应用。
Acme 小部件 内部的 金融 人力资源 它 销售量
第二种选择
这听起来更像您想要的。创建您的 GPO,向其中添加您的登录脚本,并将它们全部链接到适当的 OU。修改 GPO 的权限,以便只有特定组的成员才有权读取 GPO 并应用它。
至于为什么脚本不适用,以下是我通常的故障排除步骤。
- 组策略客户端确实会在事件日志中记录一些内容。检查是否有任何可能阻止脚本运行的警告或错误。
- 登录后以交互方式运行脚本(即转到
\\SVR\Scripts\Logon.vbs
并执行它)。如果您隐藏错误或警告,请在运行脚本之前启用它们。此外,以标准用户身份运行此脚本 - 而不是管理员用户。 - 对于 Windows XP,运行
gpresult > GP.txt
并检查您被赋予了哪些策略、哪些策略被过滤掉了等等。/v
开关(详细)也很有用,如果您真的想要信息过载,请尝试/z
(超详细)开关。 - 对于 Windows Vista 及更高版本,使用
gpresult /h GP.html
可创建更美观的组策略输出。它会在 Internet Explorer 中打开,与您在组策略管理控制台中获得的 RSOP 摘要非常相似。 - 如果您使用的是笔记本电脑,无线可能不会立即连接,可能只在登录时连接,并且登录脚本应该运行后才连接。也许可以检查更新的无线驱动程序,但您可能只能使用这个。我知道我有一些笔记本电脑,除非您使用它们提供的英特尔 crapplet 连接,否则无线连接效果不佳,而英特尔 crapplet 只能连接后登录。
答案2
新 OU 是否是第一个登录脚本 GPO 所链接的 OU 的子 OU?在应该运行新登录脚本的计算机上gpresult
,查看新 GPO 是否已被过滤掉。您可能需要将新登录脚本 GPO 设置为强制执行。