我有一个vbscript来验证用户凭据,我的代码的一部分是
Set objLocalGroup = GetObject("WinNT://./Administrators, group")这段代码在Windows(德文和法文版本)中失败,经过调试,我认为问题是,在德文版本中,对应于英文“管理员”的组被命名为“Administratoren”。
有什么通用的方法来获取对象吗?
谢谢。
发布于 2014-01-03 11:11:13
administrators组有一个著名的SID,所以这样的东西应该可以工作:
Set wmi = GetObject("winmgmts://./root/cimv2")
Set admins = wmi.Get("Win32_SID.SID='S-1-5-32-544'")
Set objLocalGroup = GetObject("WinNT://./" & admins.AccountName & ",group")另一种方式将从Win32_Group类获得名称:
Set wmi = GetObject("winmgmts://./root/cimv2")
qry = "SELECT * FROM Win32_Group WHERE SID = 'S-1-5-32-544'"
For Each group In wmi.ExecQuery(qry)
Set objLocalGroup = GetObject("WinNT://./" & group.Name & ",group")
Nexthttps://stackoverflow.com/questions/20896115
复制相似问题