2

我刚刚将我们公司的域控制器从 NT 4.0 升级到了 Windows 2008 Server。我使用了就地升级路径,首先从 NT 4.0 升级到 Windows 2003 Server,然后从 2003 Server 升级到 2008 Server。最初的 NT 4.0 域名称为Company。新域是Company .local。我已确认用户和计算机信息已正确迁移,新域已运行一周,几乎没有问题。

我现在遇到的问题是为一组用户设置 GPO 用户登录脚本。我相信我已经正确设置了 GPO,但是登录后脚本没有在客户端上执行。

经过调查,我注意到如果我直接导​​航到域控制器,我可以在登录后手动从客户端执行脚本(批处理文件):\\ ServerName \SysVol\ Company .local\Policies\{GUID}\User\Scripts\Logon

但是,如果我的理解是正确的,客户端在执行登录脚本时不会使用此路径,而是使用域(林?)名称作为源(在这种情况下域和林名相同):\ \ Company .local\SysVol\ Company .local\Policies\{GUID}\User\Scripts\Logon

从客户端手动执行此批处理文件时,我收到一个“打开文件 - 安全警告”对话框,声称客户端无法验证发布者。上面的两条路径本质上是同一个地方,只是用不同的路径访问。

知道为什么客户端在通过 \\ Company .local 而不是 \\ ServerName访问时不信任来自他们自己的域控制器的内容吗?还有其他地方我应该寻找可能的原因吗?

4

2 回答 2

1

安全警告很可能是一条红鲱鱼。我们可以了解它出现的原因,但我更感兴趣的是首先讨论在登录期间执行的脚本。

使用应执行脚本的用户帐户登录到客户端计算机并运行“策略结果集”工具(从空白 MMC,添加“策略结果集”管理单元,然后突出显示并右键单击范围窗格中的“策略结果集”并选择“生成 RSoP 数据...”采用所有默认值...)

我假设您没有使用过脚本上的 NTFS ACL 或 GPO 本身上的 ACL。

我的直觉说这是一个 GPO 范围问题。收集策略后,看看脚本是否被放置在要为用户执行的脚本列表中。收集 RSoP 数据后,右键单击范围窗格中的“用户配置”节点,然后检查与用户关联的 GPO 列表。您是否在该列表中看到包含您的脚本的 GPO?

假设您确实看到 GPO 正在应用并且确实看到要为用户执行的登录脚本中列出的脚本,接下来我将前往应用程序事件日志,看看 USERINIT 在登录期间是否记录了有关执行脚本问题的任何内容。

假设您没有看到您的 GPO 应用于用户,我会考虑您将 GPO 与用户帐户相关联的位置(这是我谈到的“范围界定问题”)。GPO 必须链接到用户对象所在的 OU、用户对象所在的 OU 的父 OU、域的顶部或与客户端所在的 IP 子网关联的站点对象计算机的 IP 地址已分配。

如果这没有意义,并且您仍然没有看到您所期望的,请发布有关对象的逻辑拓扑的一些描述 - 即显示域的树形图,以及包含用户的任何子 OU有问题的对象,以及有关 GPO 链接位置的注释。

于 2008-12-06T22:27:45.413 回答
0

I recently had the exact same issue. I did find that the script ran, but "invisible". there is a option on the GPO to run scripts "visibly" by going to "Administrative Templates", "System", "Scripts"

于 2009-11-02T09:21:18.563 回答