通过组策略登录脚本映射驱动器(带有 Windows 7 和 8 客户端的 2008 域)

通过组策略登录脚本映射驱动器(带有 Windows 7 和 8 客户端的 2008 域)

我无法为我的域映射驱动器。几个月前,我们使用组策略首选项来映射驱动器,但由于某种原因,它停止工作 - 所以我为公司的各个部门创建了一些登录脚本来映射驱动器。但这些也没有完全起作用。

据我所知,带有登录脚本的 GPO 在登录时运行,但驱动器仍未映射。手动执行 .vbs 脚本成功映射驱动器,只是在用户登录时没有映射它们。

运行 gpresult /r 显示登录脚本 GPO 已运行,查看Applications and Services\Microsoft\Windows\GroupPolicy\Operational事件日志,我可以看到事件 4016,其中显示:

正在启动脚本扩展处理。
适用的组策略对象列表:(检测到更改。)
共享驱动器 GPO

因此,GPO 正在运行,并且脚本在手动执行时有效 - 但是用户登录时不会映射驱动器。下面是我正在使用的脚本的示例:

On Error Resume Next
If err.number = vbEmpty then
Set objShell = Create("WScript.Shell")
objShell.run ("Explorer")
ElseIf err.number = -2147022646 then
Wscript.Echo "You must create" & strDriveLetter
Else Wscript.echo "Unknown " & err.number
End if

' Map H Drive
Set objectNetwork = CreateObject("Wscript.Network")
objectNetwork.RemoteNetworkDrive "H:"
objectNetwork.MapNetworkDrive "H:", "\\Path\to\FileServer"
Set objectShell = CreateObject("Shell.Application")
objectShell.NameSpace("H:").Self.Name = "Name Applied to Drive Letter"

' Map I Drive
Set objectNetwork = CreateObject("Wscript.Network")
objectNetwork.RemoteNetworkDrive "I:"
objectNetwork.MapNetworkDrive "I:", "\\OtherPath\to\FileServer"
Set objectShell = CreateObject("Shell.Application")
objectShell.NameSpace("I:").Self.Name = "Name Applied to Drive Letter"

对于适用于用户的每个驱动器号,依此类推。

答案1

您可以查看 Lookback GPO。如果我没记错的话,它需要在包含计算机对象的特定 OU 上启用。

相关内容