C#列出ACL所有成员的代码
我有下面的VB脚本代码,我希望它在C#DOT NET中。代码的目的是列出LDAP中特定ACL的所有成员。有人能帮我吗C#列出ACL所有成员的代码,c#,active-directory,C#,Active Directory,我有下面的VB脚本代码,我希望它在C#DOT NET中。代码的目的是列出LDAP中特定ACL的所有成员。有人能帮我吗 VB Script: Const ADS_SCOPE_SUBTREE = 2 Const adVariant = 12 iCount = 0 Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Comma
VB Script:
Const ADS_SCOPE_SUBTREE = 2
Const adVariant = 12
iCount = 0
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "Select member from 'LDAP://DC=xxx,DC=yyy,DC=zz,DC=com' where objectClass='group' and name = '" & txtACLName.Text & "'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
strMembers = ""
Do Until objRecordSet.EOF
For i = 0 To objRecordSet.Fields.Count - 1
arrField = objRecordSet.Fields(i)
If IsArray(arrField) Then
For Each strItem In arrField
sUser = GetUserId(strItem)
你可以在下面的链接中找到你的答案
您好,我尝试使用链接中给出的代码,但对于少数ACL,我得到了正确的结果,对于少数ACL,我得到了0个成员或更少的成员。有人能告诉我原因吗?你有多少个acl条目?这是有限制的,因为在某些情况下,您会得到1000或1500个。很少有ACL的成员超过5000个,很少有ACL的成员少于200个,但我可以使用VB脚本检索它们,如下所示。但是我没有得到到C#的精确代码转换。使用System.Activedirectory,我只获得少数ACL的结果,其他ACL的结果显示为0(零)。