Monad – Exchange 12 Example
Monad is the next generation of the Windows Shell, I was expecting it to ship in Windows Vista but there seems some doubt about that now. However it is expected to ship as part of Exchange 12. The Exchange team have taken Monad the engine and more importantly the “concept of use” and implemented the entire Exchange 12 UI on top of Monad cmdlets, this means that anything you can do from the UI you can do from the shell. Imagine how powerful the Windows environment will be if every element of the Windows and application Admin UI’s becomes not just automatable but discoverable in this way. You can find out more about Monad and Exchange here and my posts on Monad here.
Of course Monad goes way beyond the capabilities provided in a UI as these Exchange 12 examples show:
# Set the send quota for ALL mail enabled users in the DL called “RemoteUsers” to 1000 KB
Get-DistributionGroup “RemoteUsers” | Get-DistributionGroupMember | Set-Mailbox –ProhibitSendQuota 1000# Mount all mailbox databases on server HONGKONG1
Get-MailboxDatabase –server HONGKONG1 | Mount-Database# Only remove storage groups that contain the word “temp”, with confirmation support
Get-StorageGroup | where { $_.Name –imatch “temp” } | Remove-StorageGroup –confirm# move ALL users from server PORTLAND to the TUCSON server, database “DB1”
Get-Mailbox –server PORTLAND | move-mailbox –targetDatabase “TUCSON\DB1”