Computer Performance, Windows 2003, Exchange 2003, Logon Scripts

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
 

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

Solarwinds IpMonitorTry a different solution, download SolarWinds ipMonitor

Here is my thinking, ipMonitor will give you valuable data about your network and servers.  This extra information just may unlock the solution to your error code.  One more thing, sometimes when troubleshooting you go around in circles; therefore if you try a different, but related approach, you may just crack the problem.  Free Download of SolarWinds ipMonitor

Computer Training Software - Recommended Training VideosGuy Thomas recommends Computer Training Software

Their topics and material are ideal for getting you started with VBScript.  The videos are easy to follow and you can control the pace.  Try their free demo material and then see if you want to buy the full package. See more about VB Script Training CD.


Do you need extra help?

For interpreting the WSH messages check Diagnose 800 errors.

For general advice try my 7 Troubleshooting techniques

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:

 *


Google

Webcomputerperformance.co.uk

GFi Events Manager

Guy Recommends: GFi EventsManager

Here is a solution to monitor, manage and archive thousands of events that are generated by devices across your entire network.  Get your free evaluation copy of GFI EventsManager.

 

Home Copyright © 1999-2008 Computer Performance LTD All rights reserved

Please report a broken link, or an error.