' **************************
' ServerInfo.vbs
' Collects OS and SP info
' List of systems must be in same directory as script
' Run using cscript
' **************************
' Name of Input File
 strInputFile = "Syslist.txt"
' Name of Output File
strOutputFile = "ServerInfo.csv" ' Create file system object
set objFSO = CreateObject("Scripting.FileSystemObject")
' Check for Existing Output file, Create output file
If  objFSO.FileExists(strOutputFile) Then
   Wscript.echo "You must delete or remove " &  strOutputFile & " from this directory prior to running script"
    wscript.quit
End If
set objOutputFile = objFSO.OpenTextFile(strOutputFile, 2 , True)
If objFSO.FileExists(strInputFile) Then
  set objInStream = objFSO.OpenTextFile(strInputFile, 1)
' Begin reading input file
 Set objWebmLocator = CreateObject("WbemScripting.SWbemLocator")
On Error Resume Next
Do While objInStream.AtEndOfStream <> True
 strComputer = objInStream.Readline
 'Wscript.echo ("Connecting to " & strComputer)
  Set objWMI = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!" _
   & strComputer & "rootcimv2")
 
 If Err.number <> 0 Then
  Err.clear
   Set objWMI = objWebmLocator.ConnectServer(strComputer, "rootCIMV2", strUser, strPassword)
 End If
 If Err.Number <> 0 Then
  objOutputFile.Writeline(strComputer & ",Unavailable")
   'WScript.echo ("Connection Failed")
 Else
  Set colOS = objWMI.ExecQuery("Select Caption From Win32_OperatingSystem")
  Set colSP = objWMI.ExecQuery("Select CSDVersion From Win32_OperatingSystem")
  
  intOSCount = 0
  intSPCount = 0
  
  For Each objOS In colOS
   intOSCount = intOSCount + 1
   strOSVal = Replace(objOS.Caption, ",", " ")
  Next
  For Each objSP in colSP
    intSPCount = intSPCount + 1
   strSPVal = objSP.CSDVersion
  Next
  If intOSCount + intSpCOunt > 2 Then 
   strVerified = "Unconfirmed"
  Else 
   strVerified = "Confirmed"
  End If
   objOutputFile.Writeline(strComputer & "," & strOSVal & "," & strSPVal & "," & strVerified) 
Err.Clear
Loop
End IF
wscript.echo ("Script Complete")
wscript.quit