我最近尝试通过 Windows Server 2008 GPO 推出软件(和更新)。我很长时间没有成功,而且在日志中也没有收到任何提示,表明它甚至试图安装软件。事实证明,这与我们的交换机禁用了生成树端口快速设置有关。一旦我在测试计算机正在使用的端口上打开此功能,它就可以正常工作。
问题是我不完全理解这个设置,而且我们的大多数计算机都连接到带有内置交换机的 voip 电话。基本上,我不明白它在做什么,因此也不明白这样做可能造成的后果。
我找到了几个其他人成功使用的 gpo 解决方案,但我没有。一个设置“启动策略处理等待时间”似乎不起作用,我不太清楚如何检查它是否起作用。我尝试运行 gpresult /r,但它显示 gpo 为空。我将延迟时间调高到 240 秒,我没有注意到启动时间比正常时间更长。
我尝试的另一个解决方案是“在计算机启动和登录时始终等待网络”。同样,这没有任何作用。我打开了网络登录调试并查看了日志,似乎主要错误是 05/30 12:47:34 [CRITICAL] MYDOMAIN: NlDiscoverDc: 找不到 DC。
那么,我走的路对吗?有没有办法验证这些 gpo 是否在启动时实际应用。任何帮助都将不胜感激。
答案1
Windows 无法应用组策略,因为它在启动过程中没有足够早地定位域控制器 (DC) 并与之通信。这就是导致错误的原因。生成树协议 (STP) 要求交换机端口经历一系列状态(侦听和学习),这些状态不允许新连接的主机进行传输。Windows“看到”网络已“连接”,但由于不知道 STP 正在运行,它将继续尝试执行 DC 定位。
“在计算机启动和登录时始终等待网络。”不是您想要的——它只是控制组策略的同步应用(即整个计算机策略在登录前应用,整个用户策略在显示桌面前应用)。您一开始就没有获得策略应用,所以这个设置没有帮助。
“启动策略处理等待时间”设置听起来更符合您的需求,尽管我从未在生产中实际使用过它(因为我总是只启用生成树端口快速)。有一个Microsoft 知识库文章详细描述了此设置,因此我不会在这里重复。听起来您已经尝试通过组策略应用该设置。我想我会继续至少GpNetworkStartTimeoutPolicyValue
在最初创建 REG_DWORD 值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
,看看它对您有什么作用。我不清楚为什么您gpresult
将包含此设置的 GPO 显示为空,但至少在最初,我会在您进行实验时在注册表中“硬设置”该设置。