Mail from a particular mail-enabled public suddenly starts bouncing after decommissioning Exchange 2003

Whilst public folders are now accepted as a bane of most administrators, they are still being used in a lot of organisations because…well…it’s a free but messy solution for company information management. Unfortunately, I still have to administer them in my organisation.

I recently started seeing NDR’s to a particular mail enabled address:

#< #5.2.0 smtp;554 5.2.0 STOREDRV.Deliver.Exception:ObjectNotFoundException; Failed to process message due to a permanent exception with message The Active Directory user wasn’t found. ObjectNotFoundException: The Active Directory user wasn’t found.> #SMTP#

A quick search led me here

The dreaded remnants of the old Exchange organisation. Sure enough, within my ASDI Edit search, I had to remove the ‘Server’ container.

This fixed my issue instantly. A test email delivered immediately.

Office patches suddenly stop reporting on WSUS

Strangely, this did not appear too much in any searches. Consider the following:

  • You have Office patches distributed via WSUS to your network
  • Machines report back they need Windows patches without an issue
  • A very small number, or zero in my case, report back they need Office patches when in fact you are aware there are patches available
  • This started happening after April 2015.

Microsoft have just recently released a post announcing the end of RTM support for Office 2013 as of April 2015. Therefore, unless Office SP1 is installed, no soup for you since April!

Makes sense from a stability and security point of view, but I find it rather odd that it was only announced on June 9.

My test lab is now reporting back, hungry for Office updates. Hope this helps someone.

Exchange 2003 Server uninstall fails with error 0x8000ffff

This is a pesky one. The last step of the decommissioning of an Exchange 2003 server from the Add/Remove Programs option (after correctly removing all per-requisites) and bam- this error pops up on uninstall.

Reason being- the error points to (but does not explain) the installation media path/disk not being able to be found so the uninstall can continue. Now, I’d seen this before with another uninstall but it actually prompted me for a network path for the media (This was Exchange 2003 Std versus Enterprise this time, but really this shouldn’t differ!)


  • Run the setup from the Exchange media and uninstall this way or
  • Download the media (if you’d lost it like I had) and uninstall as per above.

That worked a treat.

WSUS – Windows 8.1 / 2012 R2 machines show as version number

This is purely a cosmetic annoyance. If you’re looking at your 8.1 / 2012 R2 machines in your WSUS console and they’re showing up as the Windows version number (6.x) instead of the branded name, there is a quick fix for this. It does involve a little command line work, and as always, you should take a snapshot/backup of your environment before attempting.

If you’ve installed WSUS using the Server Role option, it’ll most likely be installed using the Windows Internal Database (WID) rather than a full blown SQL instance. WID uses the sqlcmd.exe command for any manual database alterations.

Default location is: <Local SQL installation path>\<SQL instance>\Tools\Binn\

You will then need to write a small script to alter the version number to match the branded version of Windows.

(For Windows 8.1)

UPDATE [SUSDB].[dbo].[tbComputerTargetDetail]
SET [OSDescription] = 'Windows 8.1'
WHERE [OSMajorVersion] = '6'
AND [OSMinorVersion] = '3'
AND [OldProductType] = '1'
AND ([OSDescription] <> 'Windows 8.1' or [OSDescription] IS NULL)

(For Windows 2012 R2)

UPDATE [SUSDB].[dbo].[tbComputerTargetDetail]
SET [OSDescription] = 'Windows Server 2012 R2'
WHERE [OSMajorVersion] = '6'
AND [OSMinorVersion] = '3'
AND [OldProductType] <> '1'
AND ([OSDescription] <> 'Windows Server 2012 R2' or [OSDescription] IS NULL)

Save these as separately named .sql files. You’ll now need to execute the queries.

Using the above default location, in a command prompt as an administrator:

<Local SQL installation path>\<SQL instance>\Tools\Binn\sqlcmd -S \\.\pipe\MICROSOFT##WID\tsql\query -i c:\temp\verrename1.sql

where c:\temp is where I have placed the .sql files.

You should see rows affected, that match the number of 8.1 / R2 machines you have.

WSUS should now report the machines as Windows branded machines, rather than their OS version.

Note: This will update the existing items. Any new machines that appear after this has been done will need to have the query re-run for them to appear as 8.1 / 2012R2

Veeam – Error: RPC error:The RPC server is unavailable. Code: 1722

This is a wonderfully frustrating error. Veeam have a few options for fixes, including registry modifications and updating to the latest patch releases. This is generally caused by the temporary VSS service (in this instance) used by Veeam to capture application aware processing.

Well, if none of this works, go back to the crazy option of:

Editing the job and un-ticking the Enable application aware image processing option, which is under the Guest processing section.

Retry the failed job. This should complete the failed VM’s successfully.

Edit the job again and re-tick the above option.

Veeam – Cannot use CBT: Soap Fault. Error caused by file….

This error happened after a power failure, where my hosts powered down without the guests being powered down first.

Veeam was basically unable to freeze the VM’s to take a hot backup. The backup would complete however, but be extremely slow in the process. This is a result of Changed Block Tracking not telling Veeam what blocks have changed in an incremental (or full) backup.

A lot of sites, including Veeam’s KB page, have suggested changing the CBT parameters in the offending VM’s, but this involves shutting down the guests.

What worked for me was much less invasive.

Edit the existing Veeam job, and click on Virtual Machines

Click the Recalculate button to the right. I initially saw the calculated size was indeed zero, so it had no idea of the machine sizes it was backing up

Once the machines/folders have recalculated and you have sizes populated, click Finish. This should then re-populate the Veeam database.

Hopefully you’ll have no more warnings, and also have a much faster backup timeframe.

OneNote Win+S shortcut missing?

If you’re like me, you love OneNote. And if you love OneNote, you would have probably found the handy ‘Windows key’ + S shortcut for snipping, which is just awesome when you compare it to the Windows Snipping tool (too many clicks!)

However, recently it seems the ‘gurus’ at Microsoft have decided that, with the release of 8.1, the ‘S’ is now reserved for the search function. Which I find silly, as to search only takes one thumb or finger- the Windows key itself!

Anyway, Mictosoft have said a change to the shortcut will be making the snip function Windows Key + Shift + S. But this won’t be released until early next year.

So, a workaround would be to simply change the letter to use to invoke the snip.

Close OneNote

Open Registry Editor

Browse to the following location:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OneNote\Options\Other  (replace the 15.0 with your version of Office)

Create the following DWORD (32 bit) key

Name: ScreenClippingShortcutKey

Value: 42 (Hex)

Log off and on and you’ll have a Windows Key + A shortcut for snipping.

Exchange 2010: The registry key “SOFTWARE\Microsoft\ExchangeServer\v14\Transport” does not exist under “HKEY_LOCAL_MACHINE”.

Background: My test lab Exchange environment WAS a single 2010 SP3 CAS/HT and a single mailbox server. Then all hell broke loose (the environment was turned off for 5 months, and the domain decided not to want to live on this planet anymore).

Anyway, cutting to the long and the short of it, I decided to start again completely.

  •  Domain was set up again from scratch (2012 domain controllers at a 2003 functional level). We’re talking a brand new domain and brand new DC’s. So there should be NO trace of the old environment.
  • Exchange server was built again from scratch. This also involved running setup /prepareschema to update the domain schema ready for the Exchange environment. This was ran as an administrator, in a domain administrator session on the CAS server. The domain admin was also an enterprise and schema admin.

At this point, things went pear shaped. I started receiving registry error messages at the install level.

[ERROR] The registry key "SOFTWARE\Microsoft\ExchangeServer\v14\Transport" does not exist under "HKEY_LOCAL_MACHINE".

The fix (thanks to was as simple as it was annoying. Create the damn key manually in the registry. This then removed the above error and the install continued.

But again it just went south from there

[ERROR] Service 'MSExchangeTransport' failed to start due to error:'Cannot start service MSExchangeTransport on computer '.'.'.

Now, the site above that gave the registry reference also suggested in this instance to only use the original 2010 installer. However, I had downloaded a full 2010 SP3 ISO from MSDN, so this really (IMHO) wasn’t the issue.


CallManager/Unity shenangigans

A quick background on this.

CallManager 5.1.3

Unity Express 1.2

Both on old MCS servers. Callmanager is redundant publisher/sub-pub. Unity, unfortunately is not (an oversight done before my time), however we do have a spare MCS server from a previous appliance now unused that I was able to utilise (see below).

The new servers were lovely UCS C200 appliances, so we were going virtual.

The upgrade path to 8.6 and above is a very interesting and convuluted process.

I may be overdoing it, but this is the process I had to take in my lab, before looking at our production infrastructure.


  • Prepare the new appliances as per the instructions.


  • Upgrade our existing servers from version 5.1.3 to 7.1.3. This can be done on the fly, as there is an active and passive partition on each server. You reboot one, then once it’s up, reboot the next..calls don’t drop.
  • Switch over to the new version
  • Apply new licenses. Version 7.1.3 has new services that 5.1.3 did not require licenses for, so this must be done
  • Take a backup of the new 7.1.3 servers.
  • Deploy the UCS virtual machines
  • Install version 7.1.3 on the new VMs (This could be done earlier if need be probably more time efficient). Make the IP different to the current CallManager for now, to avoid address conflicts. If you are planning on different IP’s anyway, fine, but remember to change any voice gateways you may be using as well. I just planned for a maintenance window, so I left things as is.
  • Do a restore of the backup just taken.
  • Shut down the old CallManager and change the IP of the new CM to its old one. At this stage, the UCS CM will now become the live.

  • Run the ciscocm.refresh_upgrade_v1.0.cop.sgn patch, which is needed before the jump in OS. Run this on each machine in the cluster.
  • Upgrade to version 8.6. This is a refresh upgrade, so multiple reboots will be required.

Unity Express

  • Format the fresh physical server we had sitting there doing nothing.
  • Take an export of the Unity database with the COBRAS tool.
  • Install version 7.1.3 freshly onto the physical server and restore the backup just taken.
  • Apply new licenses
  • Prepare the UCS VM’s
  • Install version 7.1.3 on the VMs
  • Restore the backup just taken so the VM Licenses that were on the backup will be applied
  • Deploy the next Unity VM straight to 7.1.3 with a new IP and the database will replicate over once configured in the cluster options. You will now be able to fail machines over without interruption.
  • Run the ciscocm.refresh_upgrade_v1.0.cop.sgn patch, which is needed before the jump in OS, due to the switch from RHEL 4 to 5 as a base OS.
  • Upgrade to 8.6. This is a refresh upgrade, so multiple reboots will be required.
  • Deploy the next Unity VM. Set up the clustering in the primary Unity server and make sure the database replicates over.


  • The ciscocm.refresh_upgrade_v1.0.cop.sgn patch. This is a gotcha that Cisco don’t make you terribly aware of in the upgrade notes, however they do mention it elsewhere.

Thanks to for shedding light on this.

  • When switching versions initially, or after upgrading, you may find the version does not switch (This happened to me from 7.1.3 to 8.6). You may need to log into the box in question and do a
Admin: utils system switch-version

This will force the box to switch partitions. It may take a good minute for the box to switch and then reboot, so keep an eye on the console. You may also see the machine install new Vmware tools and restart again because of it.

  • After a reboot,  the machines may take some time (a minute say) to again display the web portals. Tomcat just takes its time restarting that’s all.
  • Technically, CM/Unity 7.1 is NOT supported on Vmware. So each time you power down the machines and power them back up, you may get a warning, plus have to agree to the terms and conditions before the machine keeps booting. Once you upgrade to 8.6, this won’t happen. I have had some people on 7.1.2 with this issue. I didn’t have the issue on 7.1.3- however the upgrade matrix requires 7.1.3 as the minimum 7 platform for any upgrade to 8.6.
  • When initially deploying the VMs for both Unity and CallManager, you MUST make sure the NIC is NOT a Flexible NIC. It MUST be an E1000 type. I saw  duplex mismatches between the devices and the core switches in the lab.

They were automatically set as 100/Full, but the switch was reporting them as negotiating them at 100/half-duplex. Removing the Flexible NICS and readding as E1000′s did the trick. Or you could just deploy as E1000 out of the box by modifying the machine after the machine is deployed and before it is powered on.

See what I mean by being convoluted?