我管理着多个 Windows Server 2003 环境。这些是具有各自结构和策略的独立域。我在管理这些环境时尽可能地进行概括,因此我有一套通用脚本,我会将它们转储到位于同一位置的每台服务器的网络共享中,无论它们属于哪个域。
我使用组策略将该脚本分配给每个工作站,但由于无论服务器如何,它都是同一组目录,因此我可以在整个板上转储文件以在多个域中获得相同的更改。
在 Windows XP 下,这可以正常工作,脚本可以从 NETLOGON 共享以外的目录顺利运行。
现在我们正在迁移到 Windows 7,我发现脚本不再从 NETLOGON 共享以外的任何其他共享执行。
我是否遗漏了什么,或者我是否可以在组策略中配置某个设置,以允许这些 Windows 7 工作站在 NETLOGON 共享之外执行其脚本?
我目前无法将我们的服务器更新到 Server 2008,这严格来说是工作站的 Windows 7 升级。
答案1
如果您使用启动脚本,则需要授予Domain Computers
共享中的组权限和 NTFS 权限。启动脚本在 SYSTEM 帐户的上下文中运行。您手动运行的测试将在登录用户的上下文中运行。
您可以通过运行手动测试psexec -s cmd
,它将以 SYSTEM 用户身份启动交互式命令提示符。
答案2
这可能是由于用户帐户控制的“功能”所致。基本上,管理用户登录脚本以完全权限运行,但资源管理器以有限权限运行,因此它无法看到以完全权限映射的驱动器。要解决此问题,您需要使用包装器脚本创建一个计划任务,该任务将在用户登录后运行登录脚本。
问题解释(向下滚动到“组策略脚本可能由于用户帐户控制而失败”): http://technet.microsoft.com/en-us/library/cc766208%28WS.10%29.aspx
launchapp 脚本: http://blogs.technet.com/b/elevationpowertoys/archive/2010/05/25/uac-logon-scripts-and-the-launchapp-wsf-workaround.aspx