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.


Thursday, November 10, 2016

Finding EPS Power Supply Status on Brocade ICX Switches

It took me a while to figure this out, so here it is:

To find out how your chassis is doing on your Brocade ICX type the show chassis command.

The stack unit 1 chassis info:

Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 (NA - AC - Regular) present, status ok

Fan ok, speed (auto): [[1]]<->2

Fan speed switching temperature thresholds:
        1 -> 2 @ 69 deg-C
        1 <- 2 @ 64 deg-C

Sensor B Temperature Readings:
        Current temperature : 29.5 deg-C
Sensor A Temperature Readings:
        Current temperature : 38.0 deg-C
        Warning level.......: 66.0 deg-C
        Shutdown level......: 76.0 deg-C
Boot Prom MAC : cc4e.24xx.xxxx
Management MAC: cc4e.24xx.xxxx


If you only care about the power supply status type:
sh chassis | incl Power

Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 (NA - AC - Regular) present, status ok
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 (NA - AC - Regular) present, status ok
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 (NA - AC - Regular) present, status ok

This is the output for my switches which are 3 ICX 6450s stacked. 6450s only have a single built-in power supply, so "Power supply 2" in each case is the EPS. In my setup I have one EPS powering two switches and another one powering the last switch. There's no way to know what "Power supply 2" is with a command, as far as I know.

Tuesday, November 1, 2016

Free/Busy and Out of Office (OOO) Issues When Migrating from Exchange 2007 to Exchange 2010

I'm in the process of migrating from Exchange 2007 to Exchange 2010. (Wait, was this post written in 2016? Yes, I know. There are extenuating circumstances.) Instead of configuring lots and lots of servers to send email to the IP of the new Exchange 2010 server, I decided to swap IPs between the Exchange 2007 and 2010 server.

I went through and adjusted the URLs under all the Client Access categories: Outlook Web App, Exchange Control Panel, Exchange ActiveSync, etc. After making the changes I ran into two issues:


  1. Issue: Exchange 2007 wasn't able to find itself via DNS.
    Fix: Turns out the person who built it put in a host file and hard coded the IP in that.
    Here's where to look for that:
    C:\Windows\System32\drivers\etc\hosts
  2. Issue: Free/Busy information wasn't working for mailboxes on the Exchange 2007 server and Out of Office messages couldn't be set.
    Fix: There are URLs for the Web Services Virtual Directory that need to be updated but are not available (as far as I know) via the Exchange Management GUI.
    1. I opened Exchange Management Shell
    2. I ran this command to see the URLs assigned to each EWS.
      Get-WebServicesVirtualDirectory | select Identity, *url* | fl

      Identity             : Exch07\EWS (Default Web Site)
      InternalNLBBypassUrl : https://Exch07.my.biz/ews/exchange.asmx
      InternalUrl          : https://mail.my.biz/ews/exchange.asmx
      ExternalUrl          : https://mail.my.biz/ews/exchange.asmx

      Identity             : Exch10\EWS (Default Web Site)
      InternalNLBBypassUrl : https://Exch10.my.biz/ews/exchange.asmx
      InternalUrl          : https://Exch10.my.biz/EWS/Exchange.asmx
      ExternalUrl          : https://mail.my.biz/ews/exchange.asmx
    3. Clearly mail.my.biz isn't going to work for two different servers. I needed to fix the internal URL and the external URL on my old 2007 server.

      Set-WebServicesVirtualDirectory –Identity “Exch07\EWS (Default Web Site)” –InternalUrl: https://Exch07.my.biz/ews/exchange.asmx

      Set-WebServicesVirtualDirectory –Identity “Exch07\EWS (Default Web Site)” –ExternalUrl: https://Exch07.my.biz/ews/exchange.asmx

      NOTE: You need the quotes and the whole string from the Identity field.
    4. Then I restarted IIS on my Exchange 2007 server.
      It took a few minutes but the Free/Busy information started to populate and my ability to set Out of Office responses came back.

Trouble Installing Cisco AnyConnect - Trouble with Windows Installer Package

I was having trouble installing the Cisco AnyConnect client on a Windows 7 laptop. Each time I tried the installation I got the following error:

Error 1722. There is a problem with this Windows Installer package.

A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action kdf_acsock64_Install, location: C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\VACon64.exe, command: kdf -install "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\\" acsock

We tried:
- Scanning for viruses.
- Running ifcleanup to check for too many network interfaces.
- Running the MSI as Administrator explicitly.
- Installing from the ASA via Internet Explorer.
- Checking to see if McAfee HIPs was blocking something.

No dice.

Finally I found this:

http://list.uvm.edu/cgi-bin/wa?A3=ind1201&L=IT-DISCUSS&E=8bit&P=541550&B=--&T=text%2Fplain;%20charset=UTF-8

The link above boils down to the following steps:

  1. Launch Services (Start, Run, Services.msc)
  2. Enable and start the Base Filtering Engine service.
  3. Enable and start the Microsoft Firewall service.
Once I did that I was able to install AnyConnect. I was then able to turn off both those services and AnyConnect still seems to work fine.