我有一个登录脚本映射用户驱动器Windows网络。有些用户现在正在登录终端服务器,我想根据他们登录的计算机名称映射不同的驱动器。
我正在查看他们所在的用户AD组(部门组,因此我知道要映射哪些共享)。
If IsAMemberOf(objNetwork.UserDomain, objNetwork.UserName, "Sales Dept. Users - Acton") Then MapIt "G:", "\\phillip\sales"
我现在需要评估计算机名称是什么。
基本逻辑是:如果用户位于此计算机 bur-ts-01 的 Sales 组中,则映射此共享 \\ bur-fil- 01 \销售;否则,如果用户在 Sales 组中,则使用 \\ phillip \ sales 。
这是一个相当全面的脚本映射驱动器,打印机等。我们的VBScript人员早已不复存在,远程用户无法访问本地共享到TS服务器。
任何人都可以提供我可以查看的任何建议或示例代码吗?
答案 0 :(得分:0)
您可以添加对计算机名称的检查以查看它是否包含“-ts-”,如果是,则相应地进行映射。有很多不同的写作方式,但这是我的看法。
bDomainGroupMember = IsAMemberOf(objNetwork.UserDomain, objNetwork.UserName, "Sales Dept. Users - Acton")
If bDomainGroupMember AND Not instr(objNetwork.ComputerName, "-ts-") > 0 Then
MapIt "G:", "\\phillip\sales"
ElseIf bDomainGroupMember AND instr(objNetwork.ComputerName, "-ts-") > 0 Then
MapIt "G:", "\\bur-fil-01\sales"
End If
基本上,我将函数查询拉出并将值赋给bDomanGroupMember,这样您就可以在两次检查中使用它而无需调用函数两次。然后,If / ElseIf检查用户是否都是销售域组的成员以及用户是否从终端服务器会话登录,即。名称中带有“-ts-”的计算机。
希望有所帮助:)