Моя среда требует, чтобы я мог создавать почтовые ящики Exchange для существующих пользователей, отключать эти почтовые ящики, а затем, через некоторое время, повторно включать их и автоматически переподключать их к Exchange. Все это зависит от некоторых атрибутов Метавселенной.
У меня есть код в MapAttributesForExport, который выполняет эту «подготовку» и «деинициализацию» почтовых ящиков, которая работает нормально. В основном это:
If mventry("mailenabled") Then
If Not csentry("homeMDB").isPresent
csentry("homeMDB") = inventHomeMDB()
End if
Else
csentry("homeMDB").delete
End If
InventHomeMDB () берет список баз данных и случайным образом назначает одну из них. Затем эквиваленты для msExchHomeServerName и mailNickname.
Когда дело доходит до повторной инициализации, мне нужно иметь возможность вспомнить, какой homeMDB был установлен, когда произошла деинициализация (поскольку она могла быть изменена в Exchange с помощью Move-Mailbox).
Я попытался передать homeMDB обратно в MV с уловкой в расширении правил, чтобы не передавать пустое значение, но это не работает, потому что код никогда не запускается, когда атрибут удален.
Я подумал о том, чтобы сохранить небольшую таблицу SQL с «последними известными значениями» (обновленными согласно правилу IAF), которые можно было бы проверить перед вызовом inventoryHomeMDB (), но это кажется довольно неэлегантным.
Любые идеи?
Спасибо!
Я решил это сам, используя Приоритет вручную настройка в конструкторе Metaverse, которая позволяет вам выполнять всю логику в расширении правил. Есть предостережения с использованием этой техники.