使用VB.NET将域组添加到本地管理员组 [英] Add a domain group to local administrators group using VB.NET
本文介绍了使用VB.NET将域组添加到本地管理员组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好我正在尝试编写一个程序,使用vb.net将一个组添加到我的本地管理员组。我发现很多文章都在谈论如何添加用户,但只有少数人谈论如何添加组。每次我尝试运行它时,错误都显示在
Dim myGrp As DirectoryEntry = rootEntry.Children.Find(GrpName,group)
我不知道为什么。
我的尝试:
Dim localComp As string = System.Environment.MachineName()
尝试
Dim localMachine As New DirectoryEntry(WinNT://& localComp&,computer)
Dim AdminGrp As DirectoryEntry = localMachine.Children.Find(Administrators,group)
Dim rootEntry As New DirectoryEntry(LDAP:// DOMAINNAME)
Dim myGrp As DirectoryEntry = rootEntry .Children.Find(GrpName,group)'ERROR
AdminGrp.Invoke(Add,New Object(){myGrp.Path.ToString()})
AdminGrp.CommitChanges ()
localMachine.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
结束尝试
解决方案
如果可能,请使用System.DirectoryServices.Ac而不是countManagement。
Dim LocalMachineContext As DirectoryServices.AccountManagement.PrincipalContext
Dim LocalGroupPrincipal As DirectoryServices。 AccountManagement.GroupPrincipal
Dim DomainContext As DirectoryServices.AccountManagement.PrincipalContext
Dim DomainGroupPrincipal As DirectoryServices.AccountManagement.GroupPrincipal
' 获取本地计算机上下文
LocalMachineContext = 新 DirectoryServices.AccountManagement.PrincipalContext (DirectoryServices.AccountManagement.ContextType.Machine)
' 获取本地组的主体
LocalGroupPrincipal = DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(LocalMachineContext, 管理员)
' 获取域上下文
DomainContext = 新 DirectoryServices.AccountManagement.PrincipalContext(DirectoryServices.AccountManagement.ContextType.Domain, 域, DC = Domain,DC = Com , UserName, 密码)
' 获取域组的主体
DomainGroupPrincipal = DirectoryServices.AccountManagemen t.GroupPrincipal.FindByIdentity(DomainContext, DnsAdmins)
' 将域组主体添加到本地组成员集合
LocalGroupPrincipal.Members.Add(DomainGroupPrincipal)
' 提交对本地组的更改
LocalGroupPrincipal.Save()
Hi I'm trying to write a program that adds a group to my local administrators group using vb.net. I found many articles talking about how to add a user, but only few of them talking about how to add a group. Everytime I try to run it, an error shows up at
Dim myGrp As DirectoryEntry = rootEntry.Children.Find(GrpName, "group")
And I'm not sure why.
What I have tried:
Dim localComp As string = System.Environment.MachineName()
Try
Dim localMachine As New DirectoryEntry("WinNT://" & localComp & ",computer")
Dim AdminGrp As DirectoryEntry = localMachine.Children.Find("Administrators", "group")
Dim rootEntry As New DirectoryEntry("LDAP://DOMAINNAME")
Dim myGrp As DirectoryEntry = rootEntry.Children.Find(GrpName, "group") 'ERROR
AdminGrp.Invoke("Add", New Object() {myGrp.Path.ToString()})
AdminGrp.CommitChanges()
localMachine.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
解决方案
If possible, use System.DirectoryServices.AccountManagement instead.
Dim LocalMachineContext As DirectoryServices.AccountManagement.PrincipalContext Dim LocalGroupPrincipal As DirectoryServices.AccountManagement.GroupPrincipal Dim DomainContext As DirectoryServices.AccountManagement.PrincipalContext Dim DomainGroupPrincipal As DirectoryServices.AccountManagement.GroupPrincipal ' Get local machine context LocalMachineContext = New DirectoryServices.AccountManagement.PrincipalContext(DirectoryServices.AccountManagement.ContextType.Machine) ' Get principal for local group LocalGroupPrincipal = DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(LocalMachineContext, "Administrators") ' Get domain context DomainContext = New DirectoryServices.AccountManagement.PrincipalContext(DirectoryServices.AccountManagement.ContextType.Domain, "Domain", "DC=Domain,DC=Com", "UserName", "Password") ' Get principal for domain group DomainGroupPrincipal = DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(DomainContext, "DnsAdmins") ' Add domain group principal to local group members collection LocalGroupPrincipal.Members.Add(DomainGroupPrincipal) ' Commit changes to local group LocalGroupPrincipal.Save()
这篇关于使用VB.NET将域组添加到本地管理员组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文