NETLOGON 脚本未执行

NETLOGON 脚本未执行

我们新域中的每个用户都需要根据批处理文件映射驱动器。问题是,我设置了一个 GPO 规则,用于在所有域登录时执行以下命令:

\\servername\netlogon\%username%.bat

在会话启动后执行此操作是可行的,但由于某种原因,它不会自动映射批处理文件中概述的驱动器。我还将登录脚本放在默认文件夹“\WINDOWS\sysvol\sysvol\domain.name{GUID}\User\Scripts\Logon”中,并执行以下命令:

logon.bat

其中包含运行 %username%.bat 的条目,但这也不起作用。我正在运行 Windows SBS 2011。有什么想法吗?

谢谢,亚历克斯

答案1

您尝试的第一种方法,即在脚本名称中指定“%username%”,可能行不通。我相当确定“脚本”组策略客户端扩展 (CSE) 中的环境变量扩展不起作用。我没有任何文档说明哪种方法有效,但我会找到它高度可疑。

您尝试的第二种方法是从 CSE 调用“logon.bat”,然后在该脚本中调用“%username%.bat”,只要您能正确获取“%username%.bat”的路径,这种方法应该可行。我会这样调用它:

call %0\..\%username%.bat

應該获取与要执行的“logon.bat”脚本位于同一目录中的“%username%.bat”文件。

最后,如果您的客户端计算机上运行的是 Windows Vista 或 Windows 7,请确保您的用户没有“管理员”权限。如果您有,并且他们有,则登录脚本期间“映射”的驱动器在 Explorer 中默认不可见。(您可以在此处了解一些背景信息:网络映射脚本 (VBS) Vista 不起作用,XP 起作用

答案2

只需将文件转储到

“\WINDOWS\sysvol\sysvol\domain.name{GUID}\User\Scripts\Logon”

文件夹可能不足以运行脚本,因为除非在 GPO 中配置了该脚本,否则 GPO 不知道该脚本是否应该运行。我无法验证这一点,因为我从未尝试过,但如果确实如此,我会感到惊讶。

答案3

为什么不使用组策略首选项来映射驱动器、复制文件以及从 GUI GP 管理控制台执行更多操作,并与客户端 XP 或更高版本配合使用?如今,由于 GPP,您越来越不需要使用登录脚本。

http://technet.microsoft.com/en-us/library/cc731892(WS.10).aspx

答案4

您可能应该让所有用户运行相同的登录脚本,然后执行逻辑来确定要映射哪些驱动器。在这种情况下,很难确定是 GPO 启动登录脚本的问题还是驱动器的实际映射问题。

尝试从 GPO 运行相同的登录脚本,然后在登录脚本中引用 %username% 变量并启动相应的单独脚本。这样,您可以在主登录脚本中进行一些日志记录,看看它是否至少做到了这一点。如果不是,您就知道这是 GPO 的问题。如果是,那么您可以从那里继续。

相关内容