Как прочитать атрибут msExchMailboxSecurityDescriptor в C # - PullRequest
3 голосов
/ 29 августа 2011

Я пытаюсь прочитать все пользовательские атрибуты в AD.

Как читать атрибут msExchMailboxSecurityDescriptor в C #?

Я использовал следующий код, но получил ошибку приведения. Любые предложения приветствуются.

  DirectoryObjectSecurity oSec = new ActiveDirectorySecurity();
  oSec.SetSecurityDescriptorBinaryForm((byte[])val);

  String m_Value = oSec.GetSecurityDescriptorSddlForm(AccessControlSections.All); 
  return m_Value; 

1 Ответ

3 голосов
/ 30 августа 2011

Хорошо.Я был в состоянии понять это.Код приведен ниже для всех, кто заинтересован.Я бы хотел, чтобы Microsoft выпустила несколько примеров кода, чтобы людям не приходилось ломать голову.

     SecurityDescriptor sd = (SecurityDescriptor) p_InputValue;
           AccessControlList acl = (AccessControlList)sd.DiscretionaryAcl;
              String m_Trustee = "";
              String m_AccessMask = "";
              String m_AceType = "";
              String m_ReturnValue="";

                  foreach (AccessControlEntry ace in (IEnumerable)acl)
                    {
                      m_Trustee = m_Trustee + "," + ace.Trustee;
                     m_AccessMask = m_AccessMask + "," + ace.AccessMask.ToString();
                      m_AceType = m_AceType + "," +ace.AceType.ToString();

                     }
         m_Return value="Trustee: " + m_Trustee + " " + "AccessMask: " + m_AccessMask       + "AceType: " + m_AceType

return m_ReturnValue

...