Welcome to MSFN

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


Sign in to follow this  
Followers 0
Boston2012

VB Script

3 posts in this topic

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

0

Share this post


Link to post
Share on other sites

Replace this line:

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

With those:


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

0

Share this post


Link to post
Share on other sites

Thanks, that did work. Anyway to abbreviate the output to show just:

Windows 2000

Windows 2008

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.