如何将驱动器映射到特定用户(而不是安全组)?

如何将驱动器映射到特定用户(而不是安全组)?

我们使用登录脚本根据域用户的安全组成员身份为其映射驱动器。

以下是脚本的摘录,展示了“_development (W)”组中的任何人登录时如何自动获取映射的“\servername\development”共享:

If (IsMember(objUser, "_development") = True) Then
If (MapDrive("W:", "\\servername\development") = False) Then
    MsgBox "Unable to map Development share"
    End If
End If

这适用于所有域用户他们是不同安全组的成员;但是,没有为域管理员帐户,因为它目前不是任何安全组的成员(并且我觉得只是为了映射驱动器而将它添加到这些组是多余的)。

我想要做的是在登录脚本中添加一个附加条目,专门为域管理员帐户映射网络驱动器。

我们的工作站是Windows 7,域控制器是SBS 2003。

这个正确的语法是什么?

答案1

组策略首选项允许您设置打印机和驱动器映射并根据各种设置进行过滤。这包括计算机名称、WMI 查询,当然还有用户名或组成员身份。

请注意,采用这种方式可能会导致登录延迟,因为组策略会访问 AD 来确定组成员身份。只需留意一下即可。

我知道您正在运行 SBS 2003,网上有很多关于在 2003 上运行 GPP 的文章。如果这是您想要追求的东西,我无法证明它的有效性。

就 VBScript 而言,也许是:

strUserName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
IF (strUserName = "Root") Then
 ...Map Drive
End IF

正如您所看到的,我不太使用 VBScript,特别是自从 PS 出现以来,但这里的关键是获取当前用户名并在脚本中根据您的域管理员名称进行测试,并采取相应的行动,这应该很容易实现。

另一个相当简单的替代方案:

使用带有简单驱动器映射的用户配置登录脚本的单个 gpo,并将其定位到“域管理员”帐户所在的 OU,然后从 GPO 中删除“经过身份验证的用户”,并重新添加“域管理员”。这将导致该帐户运行登录脚本,无需对脚本进行任何改动...

相关内容