Jump to content

Recommended Posts

Posted

Hello, I'm trying to edit my script to add another field in the.CSV file to indicate if OS is Windows 2000 or Windows 2008. Win I run this on either a 2K or 08 system the .CSV file is showing "Windows_NT" , can you tell me where I'm going wrong with this. Copy of scrip is below:

'Option Explicit

On Error Resume Next

Dim strNewContents, strLine, objFile,SuccessFile,strSuccessFlag,SuccessCode,strCritcalFlag,CriticalFile

Dim objShell,strOS

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objNetwork = CreateObject("WScript.Network")

Set objShell = CreateObject("WScript.Shell")

' Constants

Const ForReading = 1

Const ForWriting = 2

Const ForAppending = 8

strThisComputer = objNetwork.ComputerName

strFileOutput = "C:\TJXLogs\" & KMSPing & "KMSPing.csv"

strSuccessFlag = "C:\TJXLogs\Success.flag"

strOS = objShell.ExpandEnvironmentStrings("%OS%")

If objFSO.FileExists(strFileOutput) Then

Set objOutputFile = objFSO.OpenTextFile (strFileOutput, ForWriting)

Else

Set objOutputFile = objFSO.CreateTextFile(strFileOutput, True)

End If

If Err <> 0 Then

Wscript.Echo "Unable to open " & strFileOutput & " for output."

WScript.Quit

End If

If objFSO.FileExists(strFileOutput) Then

Set objOutputFile = objFSO.OpenTextFile (strFileOutput, ForWriting)

Else

Set objOutputFile = objFSO.CreateTextFile(strFileOutput, False)

End If

strTarget = "172.24.72.155"

If Ping(strTarget) = True Then

strResult = "True"

set objsuccessflag = objFSO.CreateTextFile(strSuccessFlag, False)

Else

strResult = "False"

End If

strFileOutput = "C:\TJXLogs\" & KMSPing & "KMSPing.csv"

Set objFSO = CreateObject("Scripting.FileSystemObject")

objOutputFile.Write """" & strThisComputer & """,""" & StrOS & """,""" & strResult & """,""" & Now & """"

objOutputFile.Close

Function Ping(strComputer)

Dim objShell, boolCode

Set objShell = CreateObject("WScript.Shell")

boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)

If boolCode = 0 Then

Ping = True

Else

Ping = False

End If

End Function


Posted

Replace this line:

strOS = objShell.ExpandEnvironmentStrings("%OS%")

With those:


for each objOS in GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")
strOS=objOS.Caption
next

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...