FIX: “Hyper-V encountered an error trying to access an object on computer ‘localhost’ because the object was not found. The object might have been deleted. Verify that the Virtual Machine Management service on the computer is running. If the service is running, try to perform the task again by using Run as Administrator.”

Opened up Hyper-V today and all of my VMs where missing… umm what?

HyperV missing 1

So I tried to connect to a server (button far right)

HyperV missing 2


 HyperV missing 3

Error Text

“Hyper-V encountered an error trying to access an object on computer ‘localhost’ because the object was not found. The object might have been deleted. Verify that the Virtual Machine Management service on the computer is running. If the service is running, try to perform the task again by using Run as Administrator.”


Checked Services they are running

Checked optional components they are running

Tried to run PowerShell Get-VM… ERRORS!

Long story short it turns out that a recent uninstall had deleted a MOF


Run the following command from an Elevated (Administrator) command prompt or PowerShell.  Winkey+X >> Windows PowerShell (Admin)

MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof


Sometimes an uninstaller for an application has unintended consequences!  Good news it was an easy fix of just recompiling the MOF (Microsoft Object Format).  WMI is awesome but so touchy.



Resolved: Feature update to Windows 10, version 1709 – Error 0x80242006

Working with some of my team mates this week, I was hearing about multiple machines failing the Fall Creators Update (FCU) 1709 with a Windows Update error of ” Feature update to Windows 10, version 1709 – Error 0x80242006 ” .  Looking around the internet I see a lot of people hitting the common solutions but no real success.

Common Solution (doesn’t always work)

  1. Run the Windows Update Troubleshooter
    1. Open the Windows Settings – Formerly known as the Control Panel
    2. Select Update & Security – Last option
    3. Select Troubleshoot – 4th one down left side
    4. Click on Windows Update under Windows.
    5. Click on Advanced on the Windows update dialog box and click on Run as administrator (Enter the credentials if required).
    6. Click on Next and follow onscreen instruction complete the Windows Update troubleshooter
  2. Deleting the %windir%\SoftwareDistribution folder (requires you to stop several services)

The two steps above only partially fixes the issue.  Solution is below!

Windows Update Log File

  1. Create the Windows Update Log file: Get-WindowsUpdateLog
    1. PowerShell Source:
  2. Open the log file
    1. I still use cmtrace.exe as my primary log file viewer
    2. I have found Glogg is much faster but less formatting

Root Cause

You have at least two issues

  1. Partial download in the Software Distribution folder may be corrupted (someone rebooted for a reason)
  2. Real: You windows update agent registered a download but can’t clear it out


You need to stop services remove/rename two folders then restart services.  Please be aware cryptSvc will try to restart so do the following quick.

  1. Press Windows Key + X on the keyboard and then select “Command Prompt (Admin)” or “Windows PowerShell (Admin)” from the menu.
  2. Stop the following services in order Windows Update Services, Cryptographic, Background Intelligent Transfer Service (BITS), and MSI Installer.  The following command lines will work just fine.
net stop wuauserv
net stop cryptSvc
net Stop DoSvc
net stop bits
net stop msiserver

3. Rename the SoftwareDistribution and Catroot2 folders.

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 Catroot2.old

4. Now, let’s restart the BITS, Cryptographic, MSI Installer and the Windows Update Services.

net start msiserver
net start bits
net start DoSvc
net start cryptSvc
net start wuauserv

5. Rerun Windows Update to install FCU 1709


Media Creation Tool Fails

Media creation tool did not work in this environment because all clients are configured to be controlled via Microsoft System Center Configuration Manager (SCCM or ConfigMgr)


How to stop and start services

Get-Service BITS | Where {$_.status –eq 'Stopped'} |  Start-Service

Get-Service BITS | Where {$_.status –eq 'Running'} |  Stop-Service

How to rename a folder

Rename-Item -path 'C:\Windows\SoftwareDistribution' -NewName 'C:\Windows\SoftwareDistribution.old'

Rename-Item -path 'C:\Windows\catroot2' -NewName 'C:\Windows\catroot2.old'



What’s new in Windows 10 Fall Creators Update, Redstone 3, 1709, 16299, etc

Hello all,

In the past month I have done 3 separate talks about the new release of Windows 10 FCU (1709).  The link below is the slides from the last talk:

CTSMUG201710 – Fall Creators Update 1709

The 5 links below are the most useful but I call out a lot of good data below.


WAAS: Naming Structure Not-So-Secret Decoder Ring

In the past year we have had a lot of Nomenclature Changes for Windows As A Service (WAAS).  The following slide from Ignite 2017 really clears it up.  Just like designer MUD in a SPA.

WAAS Naming Alignment 01

How often Office and Windows updated?

WAAS Naming Alignment 02

What versions of Microsoft System Center Configuration Manager (ConfigMgr / SCCM) supports 1709 next week.

WAAS Naming Alignment 03

Windows 10 Fall Creators Update, 1709, Microsoft Windows [Version 10.0.16299.15], Redstone 3, RS3 release is Oct 17th 2017.  I know a lot of names for the same piece of software.

I am excited for next week.

Slide Source:

Windows 10 Fall Creators Update (1709) Deprecated Features – PowerShell 2.0 is EOL among others

Fall Created Update (2017 RS3 1709) will be removing some more security holes.  I wonder if some of these are in response to the SMB1 fiasco (WannaCry for example).

  • TLS RC4 ciphers.
  • The SCCM Windows Hello deployed feature which has been replaced with the Registration Authority of Active Directory Federation Services
  • SysKey.exe gone in favor of Bitlocker
  • Enhanced Mitigation Experience Toolkit (EMET) is being removed for Windows Defined Exploit Guard (WDEG) feature
  • PowerShell 2.0 is very security holey – Twitter Tears Shed – Jeffery Snover
    • For example you can invoke PoSH 2.0 if it is installed.  Since it lacks logging you will have no idea what happened.  Most companies I work with just remove it from 1703.

Posted July 20th 2017 a list of features that are being depreciated or Removed from 1709.


Windows PowerShell 2.0

Applications and components should be migrated to PowerShell 5.0+.

Microsoft Paint

Will be available through the Windows Store. Functionality integrated into Paint 3D.

RSA/AES Encryption for IIS

We recommend that users use CNG encryption provider.

System Image Backup (SIB) Solution

We recommend that users use full-disk backup solutions from other vendors.

TLS RC4 Ciphers

To be disabled by default. For more information, see the following Windows IT Center topic:

TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016


Enhanced Mitigation Experience Toolkit (EMET)

Use will be blocked. Consider using the Exploit Protection feature of Windows Defender Exploit Guard as a replacement.


Removing this nonsecure security feature. We recommend that users use BitLocker instead. For more information, see the following Knowledge Base article:

4025993 Syskey.exe utility is no longer supported in Windows 10 RS3 and Windows Server 2016 RS3

TCP Offload Engine

Removing this legacy code. This functionality was previously transitioned to the Stack TCP Engine. For more information, see the following PFE Platform Blog article:

Why Are We Deprecating Network Performance Features (KB4014193)?



Full List Source:

Free eBooks from Microsoft


Free eBooks.. get em while they are … free!


  • Windows 10
  • Office 365
  • Office 2016
  • Power BI
  • Azure
  • Windows 8.1
  • Office 2013
  • SharePoint 2016
  • SharePoint 2013
  • Dynamics CRM
  • PowerShell
  • Exchange Server
  • System Center
  • Cloud
  • SQL Server and more!

Client Health: Repair the WMI Path and ensure WMI is added

Once upon a time I wrote a Client Health repair script for Windows XP SMS and SCCM 2007 environments.  By far and away the biggest issue was WMI corruption.  The point of this script was to fix as much as humanly possible WITHOUT using WMI.  No minor feat and you can see one section below here.   A major issue that was EASILY remedied was ensuring WMI was in the system path.  This was recently pointed out to me that people were charging for simple logic.  So here is a nice way to do it for free with a few more frills thrown in for free.

Solution: Fix the WMI in the System Path

The fix below will parse you entire system path and remove any %variable%, remove duplicates, and ensure certain items are in the System path like WMI.  I always wanted to add in a check to look for UNC (\\) paths as those always make a system go slower.

The following script will NOT work.  Please see the full CLIFIX script


Dim windir: windir = WSHShell.ExpandEnvironmentStrings("%WINDIR%")

' =============================================================================
' Description: checks that wbem is near the front of the sys path and cleans
' any duplicate statements from the path environment
' =============================================================================


 WindirPath = LCase(windir)
 System32path = LCase(windir & "\system32")
 WBEMpath = LCase(windir & "\system32\wbem")

 WindirPathFound = False
 System32pathFound = False
 WBEMpathFound = False
 SystemRoot = False

 strKeyNamePath = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
 strValueName = "Path"

 strValue = wshshell.regRead("HKLM\" & strKeyNamePath & "\" & strValueName)
 strValue = LCase(strValue)
 ARRpath = Split(LCase(strValue), ";")

 For i = 0 To UBound(ARRpath)
  'Repalce SystemRoot with actual value
  If InStr(ARRpath(i), LCase("%systemroot%")) <> 0 Then strValue = Replace(strValue, LCase("%systemroot%"), LCase(windir)) : SystemRoot = True : COLLECTMSG "CHK_SYSTEMPATH","Warning Replaced %systemroot%",SystemRoot
  If ARRpath(i) = WindirPath Then WindirPathFound = True
  If ARRpath(i) = System32path Then System32pathFound = True
  If ARRpath(i) = WBEMpath Then WBEMpathFound = True

If (WBEMpathFound = True) And (System32pathFound = True) And (WindirPathFound = True) And (SystemRoot = False) Then COLLECTMSG "CHK_SYSTEMPATH","All Paths Found",WBEMpathFound: Exit Sub

 '// Log the results
 If WBEMpathFound = False Then strValue = WBEMpath & ";" & strValue : COLLECTMSG "CHK_SYSTEMPATH","Error WBEMpathFound", WBEMpathFound:logit=True : CLIENTSTATE = CLIENTSTATE + 1
 If WindirPathFound = False Then strValue = WindirPath & ";" & strValue : COLLECTMSG "CHK_SYSTEMPATH","Error WindirPathFound", WindirPathFound :logit=True : CLIENTSTATE = CLIENTSTATE + 1
 If System32pathFound = False Then strValue = System32path & ";" & strValue : COLLECTMSG "CHK_SYSTEMPATH","Error System32pathFound",System32pathFound:logit=True : CLIENTSTATE = CLIENTSTATE + 1
 If logit = True Then StrERRType = StrERRType & "SYSTEMPATH_"

 '//Take out duplicates
 'Dictionary Object is Much faster
 ARRpath = Split(LCase(strValue), ";")
 Set PureString = CreateObject("Scripting.Dictionary")
 For i = 0 To UBound(ARRpath)
  If Not PureString.Exists(ARRpath(i)) Then PureString.Add ARRpath(i), ARRpath(i) : Debug(ARRpath(i))
 strValues = ""
 For Each strKeyName in PureString.Keys
  strValues = strValues & strKeyName & ";"
 Set PureString = Nothing
 'Remove duplicate semicolons
 If InStr(strValues, ";;") <> 0 Then strValues = Replace(Replace(strValues, ";;", ";"), ";;", ";")
 'Remove trailing semicolons
 ln = Len(strValues)
 If InStr(ln, strValues, ";") <> 0 Then strValues = Left(strValues, ln - 1)
 'Set to current runtime path
 Set oEnv = WshShell.Environment("System")
 Set oEnv = Nothing
 'Set to Registry for next restart
 wshshell.regwrite "HKLM\" & strKeyNamePath & "\" & strValueName,strValues,"REG_SZ" 
 RegCounter "CHK_SYSTEMPATH",1
End Sub