Я пытаюсь программно определить, имеет ли текущий пользователь определенные разрешения на данный объект Active Directory (конкретно в этом случае я пытаюсь определить, имеет ли пользователь разрешение "Send As" для другого пользователя Exchange или объекта списка рассылки).
Я уже понял, как получить доступ к атрибуту ntSecurityDescriptor
с помощью ADSI: я могу перечислить ACEs в свойстве IADsSecurityDescriptor
DiscretionaryACL
. Но:
FWIW, я пишу в Delphi (т.е. в родном Win32-коде), используя библиотеку типов ActiveDs.dll, поэтому решения, специфичные для .NET, не очень-то мне помогут, если только их исходный код не подскажет мне, как сделать то же самое в родном коде. То же самое относится и к PowerShell.
Прежде чем кто-то начнет: Я уже знаю о свойствах PR_EMS_AB_PUBLIC_DELEGATES
и PR_EMS_AB_PUBLIC_DELEGATES_BL_O
Extended MAPI. Однако это не то, что мне нужно. Эти свойства относятся к "Отправить от имени"-праву (также известному как делегаты), а не к разрешению "Отправить как", которое является совершенно другой вещью.