[英]C# get obscure Active Directory Attributes
我正在嘗試檢索一些模糊的 Active Directory 屬性:
我很難找到他們兩個。
例如,對於 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.