簡體   English   中英

C# 獲取模糊的 Active Directory 屬性

[英]C# get obscure Active Directory Attributes

我正在嘗試檢索一些模糊的 Active Directory 屬性:

  1. msexchmailbox 安全描述符,以及
  2. 終端服務配置文件路徑(在用戶參數中)

我很難找到他們兩個。

例如,對於 msexchmailboxsecuritydescriptor,如果我有類似於以下的代碼:

DirectoryEntry deresult = result.GetDirectoryEntry();
byte[] bteMailACL =(byte[])deresult.Properties["msexchmailboxsecuritydescriptor"].Value; 

它抱怨我不能將 System.__ComObject 轉換為 System.Byte[],但我已經看到了幾個使用與上面類似的代碼的示例。

我如何理解這些信息?

我認為您的問題出在聲明的.Value部分。 不知道這些示例是如何做到的,但我注意到,每當我調用這樣的 AD 屬性時,我總是會得到一個數組,在單個結果項的情況下我會得到索引 0。

只需將最后一條語句更改為:

    byte[] btwMailACL = (byte[])deresult.Properties["msexchmailboxsecuritydescriptor"][0];

解決你的問題。

編輯:對於生產代碼,請記住這可能會引發NullReferenceException ,因此請在調用索引之前檢查屬性是否實際返回值。

(在我的機器上測試並按上述方式工作)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM