WMI GetObject Failing to return anything

  • Thread starter Thread starter Charles Palmer
  • Start date Start date
C

Charles Palmer

I am working on a script that will run against all machines in a domain and
return some data about each machine through a WMI call. On about 10% of my
machines, I am not getting any return. I have the script ping each machine
first to make sure it returns as alive before I attempt a WMI call to the
machine. When I make the WMI call to the machine to get OS version and some
other data, if I don't have On Error Resume Next, the script fails with
GetObject failed. If I run the script with On Error Resume Next, after about
5 minutes, the WMI call fails and the script moves on to the next computer
in the list. The problem is, it doesn't run any of my logging or debugging
code after this point until on the next machine. I can't even return the
error message that is generated by GetObject. From trying to manually
connect to the machine through other methods, I know that the problem for
why the GetObject is failing is with the machine and I am trying to figure
out what the problem is, but this question is because it won't even log that
it has a failure when trying to connect to WMI. I am running this script
against about 500 machines and only pulling WMI on about 250 of them. Of
those 250, I have about 25 that are failing. Since it is taking between 3-5
minutes for each machine to fail, it is significantly increasing my script
runtime.

Any help or guidance that helps me figure out the problem or at least log
the problem machines would be greatly appreciated.

Thanks,
Charles Palmer
 
Charles Palmer said:
I am working on a script that will run against all machines in a domain and
return some data about each machine through a WMI call. On about 10% of my
machines, I am not getting any return. I have the script ping each machine
first to make sure it returns as alive before I attempt a WMI call to the
machine. When I make the WMI call to the machine to get OS version and some
other data, if I don't have On Error Resume Next, the script fails with
GetObject failed. If I run the script with On Error Resume Next, after about
5 minutes, the WMI call fails and the script moves on to the next computer
in the list. The problem is, it doesn't run any of my logging or debugging
code after this point until on the next machine. I can't even return the
error message that is generated by GetObject. From trying to manually
connect to the machine through other methods, I know that the problem for
why the GetObject is failing is with the machine and I am trying to figure
out what the problem is, but this question is because it won't even log that
it has a failure when trying to connect to WMI. I am running this script
against about 500 machines and only pulling WMI on about 250 of them. Of
those 250, I have about 25 that are failing. Since it is taking between 3-5
minutes for each machine to fail, it is significantly increasing my script
runtime.

Any help or guidance that helps me figure out the problem or at least log
the problem machines would be greatly appreciated.

Thanks,
Charles Palmer


Without seeing your script, I'm going to guess the problem is on line 62.
 
Despite the wise comment, I found the problem to be false returns from name
resolutions. Systems that were unavailable, when pinged by name, returned
the IP address of a machine of a different name that was active. When trying
to establish a connection to the machine with the wrong machine name, it
gave an access denied and would just fail without any error. I still don't
know why my error handling wasn't able to report the problem, but I have
fixed the problem.

Thanks,
Charles
 
Back
Top