Я думаю, что ваша проблема в .Value
части утверждения.Не уверен, как это делали примеры, но я заметил, что всякий раз, когда я вызываю свойство AD таким образом, я всегда получаю массив, из которого получаю индекс 0 в случае отдельных элементов результата.
простоизменение последней характеристики на:
byte[] btwMailACL = (byte[])deresult.Properties["msexchmailboxsecuritydescriptor"][0];
решает вашу проблему.
Редактировать: для производственного кода, пожалуйста, помните, что это может выдать NullReferenceException
, поэтому проверьте, еслисвойство фактически вернуло значение перед вызовом индекса.
(протестировано на моей машине и работает как указано выше)