Mark Berry November 6, 2013
A couple days ago, I upgraded my Windows Server 2008 R2 Hyper-V host to Server 2012 R2. I had to remove an old eSATA card that doesn’t have 2012 drivers, but other than that, the upgrade went pretty smoothly and I was able to start my Hyper-V guests. However, a few things were not working properly.
Windows Backup Failed
One of the first things I did after the upgrade was run a Windows Backup. It failed with this message:
“There was a failure in creating a directory on the backup storage location.
Detailed error: Windows Server Backup has detected that the selected backup destination contains backups taken with a previous version of Windows. Performing a new backup to the destination will cause previous backups to get erased. Copy the existing backups to a different location and run Modify Schedule to confirm that the backups can now be deleted, or reconfigure the backup schedule via Powershell or command-line by using the -allowDeleteOldBackups flag when setting the schedule.”
On the backup target media, in the WindowsImageBackup folder, I renamed the old subfolder so that it no longer matched the machine name, then I re-ran the backup successfully.
Windows Time Not Running
The Windows Time service wasn’t running. Its trigger had reverted to only start it when domain joined, and since the Hyper-V host is not domain-joined, it wouldn’t run. All I had to do was run this command:
sc triggerinfo w32time start/networkon stop/networkoff
and start the service. I used these commands to double-check that it is pointing to my domain controller to get the time, and at what interval:
w32tm /dumpreg /subkey:Parameters
w32tm /dumpreg /subkey:Config
See my 2010 post, Windows Time Stops Even When Set to Start Automatically, for more details.
Windows Update Not Running
My monitoring software advised me that the Windows Update service is not running. It turns out this is now a triggered service as well, which you can confirm with this command:
sc qtriggerinfo wuauserv
I’m going to trust that that is intentional and tell my monitoring software that it is okay for Windows Update to not be running all the time.
WMI Access Denied
Another monitoring tool uses WMI to retrieve event log events. It’s getting an Access Denied response after the upgrade. I encountered this a couple years ago and blogged it in this article: Remote WMI to a Workgroup Server 2008 R2. The following things needed to be fixed:
Step 2: The WMI firewall rules were still there but had been disabled. I enabled them.
Step 4: Re-add the WMI Remote Enable permissions for Authenticated Users. (See the above-linked post for updated Server 2012 instructions.)
Even after getting connectivity to the machine, I was getting a string error trying to execute a simple query:
PS C:\Windows\system32> Get-WmiObject -ComputerName "SVR2012R2" -namespace "root\cimv2" -Class win32_OperatingSystem Get-WmiObject : Invalid query "select * from win32_OperatingSystem" At line:1 char:1 + Get-WmiObject -ComputerName "SVR2012R2" -namespace "root\cimv2" -Class win32_Operati ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Huh? The query worked fine when run locally, and the permissions are there, so why won’t it run remotely? Then the next day, after a couple of reboots, it suddenly started working. My hunch is that after Step 4 above, I should have restarted the Windows Management Instrumentation service to make the changes take effect.
SNMP Queries Not Working
Another monitoring tool uses SNMP to check the status of various Dell baseboard components. The SNMP service is running (and the community name is already there), the four DSM services are running, the SNMP Service rule is enabled in the firewall, and I can see the Dell components when I run OpenManage. So why are the SNMP queries failing?
Using SNMPUtilG (from the Windows 2000 Resource Kit), I confirmed that built-in OIDs like .188.8.131.52.1.1 were working, but Dell OIDs were missing: a query for .184.108.40.206.4.1.674 went right past it to .220.127.116.11.18.104.22.168.1.1.0.
I tried a repair install of OpenManage Server Administrator 7.1. I got a message that the HAPI driver could not be installed. Not sure if that matters. Oddly, after this, the monitoring program was reading Dell OIDs, but I still couldn’t read them using SNMPUtilG. Permissions? I’m running SNMPUtilG as Administrator…
I discovered on the Dell OMSA Wiki that OpenManage 7.2 from January 2013 is the first one to support Server 2012, and that version 7.3 was released in June 2013. I downloaded the 350 MB installer (up from 186MB for 7.1). The install ran fine. I still couldn’t read the OIDs using SNMPUtilG, but the monitoring software was able to read them. Then, as with WMI above, after a couple reboots, this started working as expected: I was able to read values locally using SNMPUtilG.
Reset Fixed IP Address
On the Hyper-V virtual network card (shared for administration and Hyper-V guests), I discovered that the IPv4 settings had all reverted to DHCP. I had to reset the fixed IP and DNS.
WMI Event ID 10 Errors
This became so complex and drawn out that I created a separate blog post on it:
Task Scheduler History Missing
None of the tasks in Task Scheduler were creating history events after the upgrade. I clicked Disable All Tasks History, then Enable All Tasks History. That seems to have fixed it.
Not Indexing Some Files for Windows Search
On a Hyper-V host, you probably don’t even have the Windows Search Service feature activated, which is fine. On a subsequent project, I migrated another machine to Server 2012 R2 Essentials, which does implement Search. After documents were failing to show up in searches, I realized that I needed to check on which folders are indexed (in Indexing Options), then install the Microsoft Filter Pack 2.0 and its SP1 service pack as described in this post: