#c# #.net #vb.net #active-directory
#c# #.net #vb.net #active-directory
Вопрос:
Мне нужно восстановить дескрипторы безопасности для атрибута active Directory «msExchMailboxSecurityDescriptor» в объектах учетной записи пользователя.
Пока все, что я могу найти, это то, что мне нужно использовать этот класс для этого, но я не могу найти ни одного примера кода о том, как начать извлекать то, что я хочу, используя его.
Я ограничен в использовании .Net версии 0.
У кого-нибудь есть опыт или идеи?
Ответ №1:
Используя COM-компонент ActiveDS, это кажется намного проще:
Imports ActiveDS
Private Function GetSecurityDescriptor(ByVal DNPath As String) As List(Of AccessControlEntry)
Dim AceList As New List(Of AccessControlEntry)
Try
Dim ent As New DirectoryEntry(String.Format("LDAP://{0}", DNPath))
Dim sd As SecurityDescriptor = CType(ent.Properties("msExchMailboxSecurityDescriptor").Value, SecurityDescriptor)
Dim acl As AccessControlList = CType(sd.DiscretionaryAcl, AccessControlList)
Dim ace As AccessControlEntry
For Each ace In CType(acl, IEnumerable)
AceList.Add(ace)
Next
Catch ex As Exception
Return AceList
End Try
Return AceList
End Function