• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
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.