Thursday, December 22, 2016

Problems with IMAP4 and POP3 in Exchange 2010

We set up a new Exchange 2010 server (yes, in 2016) and soon discovered that IMAP and POP weren't working.

I checked the following:
  • Get-ImapSettings
  • Get-PopSettings
And both reported that everything was fine. Checking in the Exchange Management Console the banner string says "The Microsoft Exchange IMAP4 (or POP3) service is ready." Note, that's not a status, that's a thing which is displayed when clients connect. But all the settings look fine there too.

What else is there to check? Services. On my Exchange 2010 server I had to set both of these services:
  • Microsoft Exchange IMAP4
  • Microsoft Exchange POP3
To automatic and then start them. I'm not sure why they aren't set that way to begin with.

Wednesday, December 21, 2016

Forcing disconnected mailboxes to show up in Microsoft Exchange 2010

So you've disabled a bunch of mailboxes and you accidentally got rid of one that was still in use. Here's how to make them show up.

  1. Open the Exchange Management Shell.
  2. Run Clean-MailboxDatabase on the database in question. If you're like me and didn't take note of the database then you can run it on all of them:
    Get-MailboxDatabase | Clean-MailboxDatabase
  3. Give it few minutes depending on the number and size of your databases. Your freshly disconnected mailboxes should all appear in the Disconnected Mailboxes section of the Exchange Management Console pretty soon.
Now you need to reconnect it to the AD object. You cannot reconnect a mailbox to a disabled account. That stumped me for a bit.

Monday, December 19, 2016

Scheduling a mailbox move in Exchange 2010

Remember how Exchange 2007 used to have that handy feature via the GUI that would allow you to schedule a mailbox move? Exchange 2010 seems to have done away with that. Here's how I schedule mailbox moves with Exchange 2010:

  1. Create a suspended move request via the Exchange Management Shell. Here's an example where I'm creating three move requests.

    New-MoveRequest -Identity Person1 -TargetDatabase DB1 -BadItemLimit 50 -Suspend;
    New-MoveRequest -Identity Person2 -TargetDatabase DB2 -BadItemLimit 50 -Suspend;
    New-MoveRequest -Identity Person3 -TargetDatabase DB3 -BadItemLimit 50 -Suspend;
  2. Now those people are all queued up and ready to go. We want to move them in, say, 6 hours. Enter this command which pings localhost for 21600 seconds (6 hours) then fetches a list of suspended move requests and passes them on to the Resume-MoveRequest command. Note the semicolons after each command. These execute in series, not in parallel.

    ping localhost -n 21600; Get-MoveRequest | Resume-MoveRequest;

Optical mouse only moves with great effort or erratically. (Especially the Logitech M500)

My Logitech M500 mouse has the annoying habit of sucking up pet hair into the laser hole. When this happens my cursor stops moving smoothly. Sometimes I lose a directory entirely and other times it takes a lot of physical movement to get much cursor movement.

To fix it get a bright light, reading glasses, and some tweezers and remove any hair you find in your mouse's laser hole. It just takes a single hair to make it stop working very well.