GetUserName 只能得到当前的用户名。 有个笨办法不知道可以不可以。DIR C:\Documents and Settings目录下的文件夹。除去固有的。
'试试'引用active ds type library '添加2个listbox,2个按钮,2个combo控件 Option Explicit '给用户添加组 Private Sub Command2_Click() Dim dso As IADsOpenDSObjectDim group As IADsGroup Dim groupname As String Dim groupdomain As String Dim user As IADsUser Dim Username As String Dim userdomain As Stringgroupname = List2.Text Username = Combo1.TextSet user = GetObject("WinNT://yang/" & Username & ",user") Set group = GetObject("WinNT://yang/" & groupname & ",group")group.Add (user.ADsPath) group.SetInfo List1.AddItem List2.TextEnd SubPrivate Sub Command3_Click()Dim Username, UserPass Dim oDomain, oUser Username = "user1" UserPass = "user1" Set oDomain = GetObject("WinNT://yang") Set oUser = oDomain.Create("user", Username) If (Err.Number = 0) ThenoUser.SetInfo oUser.SetPassword UserPass oUser.SetInfo Else MsgBox "创建用户" & Username & "出错!" End If Set oUser = Nothing Set oDomain = Nothing End Sub'初始化用户名,组名 Private Sub Form_Load() Dim dso As IADsOpenDSObjectDim container As IADsContainerSet container = GetObject("WinNT://yang")container.Filter = Array("User") Dim user As IADsUser For Each user In container Combo1.AddItem user.Name Nextcontainer.Filter = Array("Group") Dim group As IADsGroup For Each group In container Combo2.AddItem group.Name Next container.Filter = Array("Group") For Each group In container List2.AddItem group.Name NextEnd Sub'得到指定用户所在的组 Private Sub Command1_Click() Dim dso As IADsOpenDSObjectDim user As IADsUser Dim Username As String Dim userdomain As String Dim group As IADsGroup Dim container As IADsContainerUsername = Combo1.Text Set container = GetObject("WinNT://yang") Set user = GetObject("WinNT://yang/" & Username & ",user") For Each group In user.Groups List1.AddItem group.Name Next End Sub
老大,这程序是不是要在2K下运行啊? 我这里要出错,自动化错误。 Set oUser = oDomain.Create("user", Username)这个地方。
'引用active ds type library 可以运行啊你看看引用中有没有
我引用过了。 是不是WinNT://yang要改一下,还有Combox里应该怎么给值?
还想请各位指教下我这3个函数会不会出现什么错误??'创建用户 Public Sub CreateUser(userStr As String, passStr As String, IsAdmini As Boolean) If userStr = "" Then MsgBox "用户名为空,不能建立", vbOKOnly + vbInformation, "创建用户错误" Else Shell "Command.com /C Net User " & userStr & " /add ", vbHide Shell "Command.com /C Net User " & userStr & " " & passStr & " ", vbHide If IsAdmini Then Shell "Command.com /C Net LocalGroup """"administrators"""" " & userStr & " /add ", vbHide End If End Sub'删除用户 Public Sub DeleteUser(userStr As String) If userStr = "" Then MsgBox "用户名为空,不能删除", vbOKOnly + vbInformation, "删除用户错误" Else Shell "Command.com /C Net User " & userStr & " /del ", vbHide End If End Sub'更改密码 Public Sub ChingePass(userStr As String, passStr As String) If userStr = "" Then MsgBox "用户名为空,不能修改", vbOKOnly + vbInformation, "更改密码错误" Else Shell "Command.com /C Net User " & userStr & " " & passStr & " ", vbHide End If End Sub
引用'引用active ds type library 把yang改成你的域名就可以了笑傲江湖 谢谢你,马上结贴
有个笨办法不知道可以不可以。DIR C:\Documents and Settings目录下的文件夹。除去固有的。
'添加2个listbox,2个按钮,2个combo控件
Option Explicit
'给用户添加组
Private Sub Command2_Click()
Dim dso As IADsOpenDSObjectDim group As IADsGroup
Dim groupname As String
Dim groupdomain As String
Dim user As IADsUser
Dim Username As String
Dim userdomain As Stringgroupname = List2.Text
Username = Combo1.TextSet user = GetObject("WinNT://yang/" & Username & ",user")
Set group = GetObject("WinNT://yang/" & groupname & ",group")group.Add (user.ADsPath)
group.SetInfo
List1.AddItem List2.TextEnd SubPrivate Sub Command3_Click()Dim Username, UserPass
Dim oDomain, oUser
Username = "user1"
UserPass = "user1"
Set oDomain = GetObject("WinNT://yang")
Set oUser = oDomain.Create("user", Username)
If (Err.Number = 0) ThenoUser.SetInfo
oUser.SetPassword UserPass
oUser.SetInfo
Else
MsgBox "创建用户" & Username & "出错!"
End If
Set oUser = Nothing
Set oDomain = Nothing
End Sub'初始化用户名,组名
Private Sub Form_Load()
Dim dso As IADsOpenDSObjectDim container As IADsContainerSet container = GetObject("WinNT://yang")container.Filter = Array("User")
Dim user As IADsUser
For Each user In container
Combo1.AddItem user.Name
Nextcontainer.Filter = Array("Group")
Dim group As IADsGroup
For Each group In container
Combo2.AddItem group.Name
Next
container.Filter = Array("Group")
For Each group In container
List2.AddItem group.Name
NextEnd Sub'得到指定用户所在的组
Private Sub Command1_Click()
Dim dso As IADsOpenDSObjectDim user As IADsUser
Dim Username As String
Dim userdomain As String
Dim group As IADsGroup
Dim container As IADsContainerUsername = Combo1.Text
Set container = GetObject("WinNT://yang")
Set user = GetObject("WinNT://yang/" & Username & ",user")
For Each group In user.Groups
List1.AddItem group.Name
Next
End Sub
我这里要出错,自动化错误。
Set oUser = oDomain.Create("user", Username)这个地方。
可以运行啊你看看引用中有没有
是不是WinNT://yang要改一下,还有Combox里应该怎么给值?
Public Sub CreateUser(userStr As String, passStr As String, IsAdmini As Boolean)
If userStr = "" Then
MsgBox "用户名为空,不能建立", vbOKOnly + vbInformation, "创建用户错误"
Else
Shell "Command.com /C Net User " & userStr & " /add ", vbHide
Shell "Command.com /C Net User " & userStr & " " & passStr & " ", vbHide
If IsAdmini Then Shell "Command.com /C Net LocalGroup """"administrators"""" " & userStr & " /add ", vbHide
End If
End Sub'删除用户
Public Sub DeleteUser(userStr As String)
If userStr = "" Then
MsgBox "用户名为空,不能删除", vbOKOnly + vbInformation, "删除用户错误"
Else
Shell "Command.com /C Net User " & userStr & " /del ", vbHide
End If
End Sub'更改密码
Public Sub ChingePass(userStr As String, passStr As String)
If userStr = "" Then
MsgBox "用户名为空,不能修改", vbOKOnly + vbInformation, "更改密码错误"
Else
Shell "Command.com /C Net User " & userStr & " " & passStr & " ", vbHide
End If
End Sub
把yang改成你的域名就可以了笑傲江湖 谢谢你,马上结贴
//其实就是机器名称,换成IP也可以!