gpt4 book ai didi

c# - Active Directory 共享邮箱用户权限

转载 作者:行者123 更新时间:2023-11-30 17:43:42 24 4
gpt4 key购买 nike

我需要编写一个 C# 应用来查询 Active Directory 并返回有权使用某个共享邮箱的用户列表。

我已经与我们的支持部门谈过,他们说每个共享邮箱都有一个关联的安全组。为了授予用户对共享邮箱的访问权限,他们使用户成为相关安全组的成员。

我的问题是共享邮箱和 AD 中的安全组之间的链接是什么?我如何确定哪个安全组关联到哪个共享邮箱?

最佳答案

您可以使用 Active Directory 中共享邮箱对象的 msExchMailboxSecurityDescriptor 属性,这将为您提供邮箱的 DACL。例如How to read msExchMailboxSecurityDescriptor attribute in C#

How can I work out which Security Group is associated to which Shared Mailbox?

除了枚举每个共享邮箱上的每个 DACL 之外,没有其他直接方法。如果通过 AlternativeMailbox 元素自动映射,自动发现将返回特定用户有权访问的所有邮箱 https://msdn.microsoft.com/en-us/library/ee237925(v=EXCHG.80).aspx .

干杯格伦

编辑查看完整的程序集名称,您应该能够自己解决其余的问题

                byte[] DaclByte = (Byte[])DirectoryEntry.Properties["msExchMailBoxSecurityDescriptor"][0];
System.DirectoryServices.ActiveDirectorySecurity adDACL = new ActiveDirectorySecurity();
adDACL.SetSecurityDescriptorBinaryForm(DaclByte);

System.Security.AccessControl.AuthorizationRuleCollection aclCollection = adDACL.GetAccessRules(true, false, typeof(System.Security.Principal.SecurityIdentifier));
foreach (System.Security.AccessControl.AuthorizationRule ace in aclCollection)
{

关于c# - Active Directory 共享邮箱用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30532315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com