0

My environment requires me to be able to create Exchange mailboxes on existing users, disable those mailboxes and then, some time later, re-enable them and have Exchange reconnect them automatically all driven from some Metaverse attributes.

I have code in MapAttributesForExport which performs this "provisioning" and "deprovisioning" of mailboxes which is working fine. Basically this:

If mventry("mailenabled") Then
   If Not csentry("homeMDB").isPresent
       csentry("homeMDB") = inventHomeMDB()
   End if
Else
   csentry("homeMDB").delete
End If

inventHomeMDB() takes a list of databases and assigns one at random. Then equivalents for msExchHomeServerName and mailNickname.

When it then comes to reprovisioning, I need to be able to recall what homeMDB was set to when the deprovision occurred (as it may have been changed in Exchange by a Move-Mailbox).

I have tried flowing homeMDB back into the MV with a catch in a rules extension to not flow an empty value but this doesn't work because the code is never run when the attribute is Deleted.

I have thought about keeping a small SQL table with the "last known values" in (kept up to date in an IAF rule) which could be checked before calling inventHomeMDB() but this seems rather inelegant.

Any ideas?

Thanks!

foo
  • 66
  • 5

1 Answers1

0

I have solved this myself by using the Manual Precedence setting in the Metaverse Designer which allows you to do the whole logic in the Rules Extension. There are caveats with using this technique.

foo
  • 66
  • 5