Microsoft Exchange and Blackberry Server Specialists

SEMblog

Microsoft Exchange Server and
Blackberry Enterprise Server news, views and fixes.

Removing a Database from Exchange 2010, 2013 and 2016

If you have attempted to remove a database on Exchange 2010 and higher, no doubt you will have seen this error message:

 

"This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes, Audit mailboxes. To get a list of all mailboxes in this database, run the command Get-Mailbox -Database . To get a list of all mailbox plans in this database, run the command Get-MailboxPlan. To get a list of archive mailboxes in this database, run the command Get-Mailbox -Database -Archive. To get a list of all public folder mailboxes in this database, run the command Get-Mailbox -Database -PublicFolder. To get a list of all arbitration mailboxes in this database, run the command Get-Mailbox -Database -Arbitration. To get a list of all Audit mailboxes in this database, run the command Get-Mailbox -Database -AuditLog. To disable a non-arbitration mailbox so that you can delete the mailbox database, run the command Disable-Mailbox . To disable an archive mailbox so you can delete the mailbox database, run the command Disable-Mailbox -Archive. To disable a public folder mailbox so that you can delete the mailbox database, run the command Disable- Mailbox -PublicFolder. To disable a Audit mailbox so that you can delete the mailbox database, run the command Get-Mailbox -AuditLog | Disable-Mailbox. Arbitration mailboxes should be moved to another server; to do this, run the command New-MoveRequest . If this is the last server in the organization, run the command Disable-Mailbox -Arbitration -DisableLastArbitrationMailboxAllowed to disable the arbitration mailbox. Mailbox plans should be moved to another server; to do this, run the command Set-MailboxPlan -Database ."


This is probably one of the most useless errors in Exchange. It doesn't list all of the command required to check the database is empty, it also listed commands not available in the on premise version of Exchange.

 

The list of commands to check, is as follows:

 

get-mailbox -database "Databasename"

get-mailbox -database "Databasename" -archive

get-mailbox -database "Databasename" -arbitration

get-mailbox -database "Databasename" -publicfolder

get-mailbox -database "Databasename" -monitoring

get-mailbox -database "Databasename" -auditlog

 

Where "Databasename" is the name of the database you are trying to remove and not all commands work on all versions of Exchange.

 

If any of those come back with results, then you need to move the mailbox off:

 

Get-Mailbox -Database "Mailbox Database 1" -AuditLog | new-moverequest –targetdatabase "Mailbox Database 2"

 

After allowing the domain to replicate, you should then be able to drop the database.

Approving Quarantined ActiveSync Devices with Exchange Management Shell

For some reason, the act of approving a quarantined device using EMS isn't immediately obvious. It took me a little while to work out how to do it. 

This command will show you what devices are quaranted:

Get-ActiveSyncDevice -filter {deviceaccessstate -eq 'quarantined'} | select identity, deviceid | fl

Therefore it would seem that set-activesyncdevice would be the correct command to use to approve the device. 

Not so. 

It is actually set-casmailbox. 

Take the device ID from the first command, you use it to complete this second command: 

Set-CASMailbox –Identity user@example.com –ActiveSyncAllowedDeviceIDs DEVICEID

Give it about 15 minutes and the device will start to get email. 

Kemp Release Free Load Balancer Virtual Appliance

Kemp have released a free load balancing virtual appliance. If you have a small environment and don't need the high availability of two load balancers, then this could be an ideal solution. 


There are some limitations, particularly around the throughput (only 20mps) but if you are using a small environment or a lab, then it could be all that you need. Absolutely no reason to use Windows Network Load Balancing any more. 

If you have Kemp load balancers in your production environment, then it is an ideal way to have the same in your test environment. It will also make this a valuable learning tool for Exchange and server administrators. 

No support included, but that is to be expected. 

It looks like it is pretty much the complete feature-set from Kemp, including:

Layer 4/7 load balancing
Content switching
Caching, compression engine
MS Exchange 2010/2013 optimized
Pre-configured virtual service templates

The only thing it is missing features wise is Active/Hot Standby redundant operation.

If you are going to use this in a production site, then I would watch that maximum throughput though. 

Update for Visual Studio 2010 Tools for Office Runtime (KB3001652) Install Hang

Looks like the updates for today (10th Feb 2015) has an update that isn't installing correctly.

KB3001652 Update for Visual Studio 2010 Tools for Office Runtime.

On Windows 8.1 machines it seems to just hang.
However on a Windows 7 machine, I got a runtime installer appear, which required me to click through a few steps to install. 

Therefore it looks like it is hanging because the setup installer is hidden in the background. 

This was further confirmed by trying to reset the Windows Update system using my script from here: http://wuauclt.info/scripts.asp

In the command prompt window it said that a file couldn't be deleted because it was held open by another process. 

Looking in Task Manager, I found a setup.exe process running. Killing that process immediately brought up the Reboot now windows in Windows Update. I ran the script again and it was successful. A reboot also passed without incident, taking just a couple of minutes which was normal for the VM I was using. 

As the lab system I am testing against uses a WSUS, I declined the update. For home users, you should probably hide it. I expect it will get pulled by Microsoft very shortly. 

So the complete method to deal with this stuck update.

1. In task manager, find the setup.exe that is running in the background which you cannot see and end the task. 
2. Run the script from my web site above, to clean out Windows Update.
3. Reboot. 
4. Re-run Windows Update. When you see the update listed, hide it. 

Install all other updates as normal and reboot.