积极答复者
异常客户端无法执行组策略启动脚本

问题
-
这里有几台奇怪的PC win7系统,在PC系统日志里有同步域策略的日志“成功处理了此用户的组策略设置。自上一次成功处理了组策略后,没有检测到更改。”,而且各方面使用正常。
但是该PC总是不执行域里的用户登录脚本。同一域里相同策略的其他机器都没有问题,正常映射。该脚本是用来映射网络驱动器的。
该问题机器通过Rsop.msc看过了,策略已经发到机器上,而且启动里也有相应的脚本。如果把脚本复制到本地,手动运行也是没有问题的。
我怀疑是机器上的某个服务被禁用了,导致开机脚本就是不执行。
不知有什么方法能解决该问题。该win7客户端不考虑重装系统。
- 已编辑 Anson_Chen_ 2013年7月19日 12:09
答案
-
谢谢Repl
我按你的方法进行了测试,结果都没有解决问题。
后来参考了MapNetworkDrive方法,改了一下配置,后来问题解决了。
objnet.MapNetworkDrive "S:", "\\192.168.22.9\file\部门目录\网络集成部",True
objShell.NameSpace("S:").Self.Name = "网络集成部"加上了True,解释如下:
可选。表示映射信息是否存储在当前的用户配置文件中的布尔值。如果提供的 bUpdateProfile 的值为 true,则该映射存储在用户的配置文件中(默认值为 false)。
将共享网络驱动器添加到计算机系统中。 object.MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]) 参数 object WshNetwork 对象。 strLocalName 表示映射驱动器的本地名的字符串值。 strRemoteName 表示共享的 UNC 名称 (\\xxx\yyy) 的字符串值。 bUpdateProfile 可选。表示映射信息是否存储在当前的用户配置文件中的布尔值。如果提供的 bUpdateProfile 的值为 true,则该映射存储在用户的配置文件中(默认值为 false)。 strUser 可选。表示用户名的字符串值。如果使用当前用户以外的其他用户的凭据来映射网络驱动器,则必须提供该参数。 strPassword 可选。表示用户密码的字符串值。如果使用当前用户以外的其他用户的凭据来映射网络驱动器,则必须提供该参数。
- 已标记为答案 Anson_Chen_ 2013年8月9日 3:08
全部回复
-
应该是做用户登录脚步
- 已标记为答案 Vincent Wang-MCSCModerator 2013年7月19日 2:20
- 取消答案标记 Anson_Chen_ 2013年7月19日 3:02
-
谢谢Repl
我已经查看了,net use 返回的列表为空。
我测试了下面的脚本,用户登录后,能正常输了log1.txt文件,但是驱动器就是映射不了。
如果在进入系统之后再手机运行该脚本,脚本能运行成功。
该问题机器之前安装过金山毒霸,怀疑有问题,之后卸载了,问题依旧。
On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile=objFSO.CreateTextFile("C:\log.txt",true) Set objSysInfo = CreateObject("ADSystemInfo") Set objNet = CreateObject("Wscript.Network") Set objShell = CreateObject("Shell.Application") strUser = objSysInfo.UserName Set objUser = GetObject("LDAP://" & strUser) strPath = objUser.AdsPath strtempOU = Split(strPath,",",-1,1) strOU=Replace(strtempou(1),"OU=","") Select Case strOU Case "网络集成部" objnet.MapNetworkDrive "S:", "\\192.168.22.9\file\部门目录\网络集成部" objShell.NameSpace("S:").Self.Name = "网络集成部" objTextFile.writeLine "成功映射部门网络驱动器 " Case "行政部" objnet.MapNetworkDrive "S:", "\\192.168.22.9\file\部门目录\行政部" objShell.NameSpace("S:").Self.Name = "行政部" Case "工程技术部" objnet.MapNetworkDrive "S:", "\\192.168.22.9\file\部门目录\工程技术部" objShell.NameSpace("S:").Self.Name = "工程技术部" End Select objnet.MapNetworkDrive "T:", "\\192.168.22.9\file" objShell.NameSpace("T:").Self.Name = "公司文件" Set objTextFile=objFSO.CreateTextFile("C:\log1.txt",true)
- 已标记为答案 Anson_Chen_ 2013年8月9日 3:08
- 取消答案标记 Anson_Chen_ 2013年8月9日 3:08
-
谢谢Repl
我按你的方法进行了测试,结果都没有解决问题。
后来参考了MapNetworkDrive方法,改了一下配置,后来问题解决了。
objnet.MapNetworkDrive "S:", "\\192.168.22.9\file\部门目录\网络集成部",True
objShell.NameSpace("S:").Self.Name = "网络集成部"加上了True,解释如下:
可选。表示映射信息是否存储在当前的用户配置文件中的布尔值。如果提供的 bUpdateProfile 的值为 true,则该映射存储在用户的配置文件中(默认值为 false)。
将共享网络驱动器添加到计算机系统中。 object.MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]) 参数 object WshNetwork 对象。 strLocalName 表示映射驱动器的本地名的字符串值。 strRemoteName 表示共享的 UNC 名称 (\\xxx\yyy) 的字符串值。 bUpdateProfile 可选。表示映射信息是否存储在当前的用户配置文件中的布尔值。如果提供的 bUpdateProfile 的值为 true,则该映射存储在用户的配置文件中(默认值为 false)。 strUser 可选。表示用户名的字符串值。如果使用当前用户以外的其他用户的凭据来映射网络驱动器,则必须提供该参数。 strPassword 可选。表示用户密码的字符串值。如果使用当前用户以外的其他用户的凭据来映射网络驱动器,则必须提供该参数。
- 已标记为答案 Anson_Chen_ 2013年8月9日 3:08