用户登录 Windows 时登录脚本未运行

用户登录 Windows 时登录脚本未运行

windows 2003 sbs 当前已修补

客户端包括 Windows XP、Vista 和 Windows 7 的混合。

这是我创建的简单登录脚本。如果我手动运行该脚本,它会正常工作,并且不会出现任何错误。如果我在 AD 帐户的用户配置文件下设置登录脚本,它似乎没有运行。没有打印机获得映射,也没有驱动器映射发生。我在这里做错了什么。问题发生在 XP 上,我还没有在 Vista 或 Windows 7 上测试过。

还有一件事是的,我正在从 \server.local\NETLOGON\tmg_login.vbs 调用脚本

Option Explicit
Dim WSHShell, wshNetwork 

Set WSHShell = CreateObject("WScript.Shell")
Set wshNetwork = CreateObject("WScript.Network")

wshNetwork.AddWindowsPrinterConnection "\\server.local\TMG-HP3600"
wshNetwork.AddWindowsPrinterConnection "\\server.local\TMG-xerox2240"

'wscript.sleep 30

wshNetwork.MapNetworkDrive "S:","\\server\DATA", True


WScript.Quit

答案1

尝试调用它没有完整路径。如果登录脚本位于 netlogon 的根目录下,则只需在登录脚本中包含“tmg_login.vbs”即可。

答案2

如果这种情况只发生在 Vista(也可能是 Windows 7)上,您可能需要降低或禁用 UAC。这可能会干扰登录脚本处理(UAC 确实应该具有域感知功能,但唉……)

答案3

您是否将该脚本保存在 NETLOGON 共享中,然后通过完整路径调用它?(例如 \\myDomain.loc\NETLOGON\myLogonScript.vbs


编辑:

我想知道这是否是上下文问题。有时映射将以运行脚本的帐户(系统)的形式进行,因此作为普通用户您看不到映射。

可以尝试以下两件事:

  • 在脚本中添加MsgBox一行。如果登录时出现此消息,则说明存在上下文问题

  • 要确认这是上下文问题,请在登录并清除消息框后,打开 CMD 窗口并输入Net Use。您应该看不到任何映射。然后,输入Net Use S: \\server\DATA。您应该会收到一条错误消息,指出驱动器正在使用中

如果是这种情况,请告诉我,我会告诉你如何解决它。

如果不是这种情况,则根本就不会调用该脚本。

答案4

为什么不将脚本添加到用户 GPO?在用户对象上设置脚本并将其放入 netlogon 文件夹是运行脚本的传统方法。我并不是说它导致了您的问题,但请尝试从 GPO 运行它,看看是否有任何变化。

相关内容