急!!!VB中如何通过程序得到域中用户列表,以及用户的信息?

luost 2006-09-01 03:30:33
同标题

急!!!在线等,解决马上散分!
...全文
204 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luost 2006-09-04
  • 打赏
  • 举报
回复
感谢trademark2004()

你说的方法的确有效。
我在xp中已经调试通过

但现在我需要部署到1台NT4.0的域服务器上去,域是wedr
上面的代码中获得“计算机上有哪些组”是正常的,但通过组找用户时,却总是找不到用户?

不知道在NT4.0上该如何修改代码,以后的组中的用户???

谢谢!!!

houseofcodes 2006-09-03
  • 打赏
  • 举报
回复
丹尼的世界 主页 阅读注册登录




首页 相册 标签浪迹天涯(0) 精神分析(1) 视听娱乐(5) 电脑科技(7)





如何获取本地计算机所有用户名,标志,登陆类型,所属组及状态? [::SmartDaniel::]

查询代码如下:
Function mQUser(mGroup As String) '参数为组名
Dim objNetwork, objConn, objItems, sResult, Item, objOU

Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set objConn = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objItems = objConn.ExecQuery("Select * from Win32_GroupUser WHERE GroupComponent=""Win32_Group.Domain='" & strComputer & "',Name='" & mGroup & "'""", , 48)
sResult = ""
For Each Item In objItems
Set objOU = objConn.Get(Item.PartComponent)
sResult = sResult & objOU.Name & vbCrLf
Next
If sResult = "" Then
mQUser = "无"
Else: mQUser = sResult
End If
End Function
'函数返回值为该组里有的用户名,用VBCRLF分隔。

'如要获取有哪些管理员:
MsgBox mQUser("Administrators")

'获取计算机上有哪些组,你可以使用WMI的Win32_Group类使用如下查询
objSWbemObjectSet = objSWbemServices.ExecQuery("SELECT * FROM " & strClass)
'objSWbemObjectSet对象的成员就是组对象了,每一个对象的NAME属性就是你要的各组名称了。
For Each objSWbemObject In objSWbemObjectSet
Debug.Print objSWbemObject.Name, mQUser(objSWbemObject.Name)
Next
'即可历遍所有成员,并在调试窗口里面输入所包含的用户
zq972 2006-09-01
  • 打赏
  • 举报
回复
http://www.delphiun.com/down_view.asp?id=2257
迈克揉索芙特 2006-09-01
  • 打赏
  • 举报
回复
http://blog.joycode.com/liuhuimiao/articles/20946.aspx

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧