Code Error 80041010 – Invalid Class

Troubleshooting Code 80041010 – Invalid Class

Introduction to Code 80041010

Error code, 80041010 occurs when you execute a VBScript connecting to WMI (Windows Management Instrumentation).  This is a spelling error check the names of the objects.  Alternatively, you could be trying to use a class that does not exist.  In particular check for plurals which should be singulars e.g. win32_OperatingSystem and not win32_OperatingSystemS.

The Symptoms You Get

The script does not manipulate the WMI object as you had hoped, instead you get a Windows Script Host error message.

 Code Error 80041010 WSH VBScript

The Cause of Code 80041010

Your VBScript contains a misspelled object name.  Code 80041010 is an unusual Error in that a number is returned rather than ‘Syntax Error’ or other message.

The Solutions

Check the class definitions in the WMI section of the your script, check for extra letters, plurals can be a particular problem, e.g. system or systemS. 

As ever, pay close attention to the line number: Line: 4.   In this case it Char: 1 is not to blame.  When none of the line can execute, the error gets charged to the first character.

Example of Error Code 80041010 Script

Note: Line 4:  win32_OperatingSystemsOperatingSystem

It should be win32_OperatingSystem (Singular)

‘WMI Script
strComputer = "grand"
set objWMIService = GetObject("Winmgmts:\\" & strComputer)
set colOperatingSystems=objWMIService.InstancesOf("win32_OperatingSystems")
For each objOperatingSystem In colOperatingSystems
WScript.echo "Name " & objOperatingSystem.name & vbCRLf & _
"Caption " & objOperatingSystem.caption & vbcrlf & _
"Time Zone " & objOperatingSystem.currentTimeZone & vbcrlf & _
"OS Type " & objOperatingSystem.OsType
Next

Correct Version – Thanks to Ed Crowley

‘WMI Script
strComputer = "grand"
set objWMIService = GetObject("Winmgmts:\\" & strComputer)
set colOperatingSystems=objWMIService.InstancesOf("win32_OperatingSystem")
For each objOperatingSystem In colOperatingSystems
WScript.echo "Name " & objOperatingSystem.name & vbCRLf & _
"Caption " & objOperatingSystem.caption & vbcrlf & _
"Time Zone " & objOperatingSystem.currentTimeZone & vbcrlf & _
"OS Type " & objOperatingSystem.OsType
Next

See a PowerShell example of Win32_OperatingSystem »

Seven General Troubleshooting Strategies for 800 Errors

  1. Golden Rule – Break Your Script into Sections

  2. Play the Numbers Game

  3. Try a Walk-Through

  4. If You Are Still Stuck Try a Parallel Approach

  5. Change of Scenery

  6. Avoid ‘Over-think’

  7. Find a Sounding Board

 

See More Windows Update Error Codes 8004 Series

Error 80004005 Unspecified Error   •Error 80041021   •Error 80041001   •Error 80041002

Error 80048820   •Error 8004100E   •Review of SolarWinds Application Monitor (SAM)

Error 80040E14   • Error 80040E37   • Error 80041006   • Error 80041006

Solarwinds Free WMI MonitorGuy Recommends: WMI Monitor and It’s Free!

Windows Management Instrumentation (WMI) is one of the hidden treasures of Microsoft operating systems.  Fortunately, SolarWinds have created the WMI Monitor so that you can examine these gems of performance information for free.  Take the guess work out of which WMI counters to use for applications like Microsoft Active Directory, SQL or Exchange Server.

Download your free copy of WMI Monitor


Do you need additional help?

Give something back?

Would you like to help others?  If you have a good example of this error, then please email me, I will publish it with a credit to you:

If you like this page then please share it with your friends