我设置了一个 Windows Server 2008 R2 终端服务器,其唯一目的是运行一个基于 Web 的应用程序,该应用程序具有完全荒谬的系统要求(IE7、Java 6 update 3、Acrobat 9.5)。这是一个糟糕的软件,但我们坚持使用它。
由于运行此类过时软件的安全隐患,终端服务器与网络的其余部分隔离,并对其应用了完全锁定的组策略,因此它只能运行 Internet Explorer,并且只能浏览到那个 URL。此服务器不会收到任何 Windows 更新。服务器还会在夜间自行重启并清除所有用户配置文件。
为了方便我们的用户,我将其设置为将 IE 作为 RemoteApp 运行,这样用户在他们的桌面上双击它就只是一个普通的应用程序。这曾经工作得很好,直到有一天它无缘无故地停止了。
以下是症状:
- 如果用户从他们的桌面双击 RemoteApp 图标,IE 会打开一个空白页面,地址栏中的 URL 是正确的。刷新页面不会做任何事情,也不会将 URL 复制/粘贴到地址栏中。
- 如果用户使用完全交互式桌面会话(而不是通过 RemoteApp)登录到终端服务器,则该页面可以正常工作。
- 在完整桌面模式下成功导航到该页面后,用户可以注销并在一天的剩余时间里正常使用 RemoteApp 版本。
这显然与用户配置文件有关。我可以通过手动清除配置文件按需再次打破它。问题是我不想删除每晚的配置文件清除,因为我们稍后会开始遇到缓存问题(这就是首先实施配置文件清除的原因)。
该应用程序不使用任何自定义 ActiveX 控件。供应商说在终端服务器环境中运行它是一种不受支持的配置(因为他们当然会这么说),所以他们没有帮助。
有任何想法吗?
我找到了答案。我们有一个在终端服务器上使用的通用 IE 组策略对象,并且这个特定的终端服务器有自己的锁定 IE GPO(以防止它浏览互联网)。在 AD 中,服务器位于其自己的容器中,继承被阻止。
有人将通用的IE策略标记为强制执行,不仅突破了继承封锁,而且在优先级上做到了第一位。只需删除 GPO 强制执行即可解决问题。
对整个互联网来说并不是很有用。当您遇到一天工作的不稳定服务器配置,然后突然不工作时,将其发布为提醒检查您的 GPO 继承。