If your concerned about the server being up, incorporate this into your
script. It will ping the box and execute your logic if its up. This is
just an example, it wouldn't actually work if you cut and paste it.
Set objShell = CreateObject("WScript.Shell")
For Each strServerName in colServerList
Set objScriptExec = objShell.Exec("ping -n 2 -w 1000 " &
servername)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)
If InStr(strPingResults, "reply from") Then
Put your OS version WMI code here, call
a function preferably.
Else
Wscript.Echo "Error:" & Err.Description
(something like this)
End if
Next
Set objShell = Nothing
-Brandon
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Hutchins, Mike
Sent: Thursday, May 25, 2006 12:46 PM
To: [email protected]
Subject: RE: [ActiveDir] OT help with VBS/WMI Script
If I use this, everything gets "Server1++" nothing ever gets anywhere.
:-)
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Timo Ed
Sent: Wednesday, May 24, 2006 4:22 PM
To: [email protected]
Subject: Re: [ActiveDir] OT help with VBS/WMI Script
'=========================================
For Each strComputer In serverList
Set colSettings = ""
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer &
"\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
If err then
WScript.Echo strComputer + "++"
else
Set colSettings = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each OS In colSettings'
WScript.Echo strComputer + "+" + OS.Caption + "+" +
OS.Version
Next
end if
Next
'=========================================
Rgds,
Tim
On 5/25/06, Hutchins, Mike <[EMAIL PROTECTED]> wrote:
> So I am trying to get some information from a gigantic list of
machines.
> Problem is that if the machine isn't up, the script retains the
> previous values. Example
>
> server1+Microsoft(R) Windows(R) Server 2003, Enterprise
> server1+Edition+5.2.3790
> server2+Microsoft(R) Windows(R) Server 2003, Enterprise
> server2+Edition+5.2.3790
>
> In this example Server1 is Accurate (the "+" is a delimiter)
> Server2 is not online so the script retained the OS.Caption and
> OS.Version part. I would rather it be blank like;
>
> server2++
>
> Here is the script part that this lies in. Any suggestions greatly
> appreciated.
>
> For Each strComputer In serverList
> Set colSettings = ""
> Set objWMIService = GetObject("winmgmts:" _
> & "{impersonationLevel=impersonate}!\\" & strComputer &
> "\root\cimv2")
> Set colSettings = objWMIService.ExecQuery _
> ("Select * from Win32_OperatingSystem")
> For Each OS In colSettings
> WScript.Echo strComputer + "+" + OS.Caption + "+" + OS.Version
> Next
> Next
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive:
http://www.mail-archive.com/activedir%40mail.activedir.org/
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ml/threads.aspx
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ml/threads.aspx