Results 1 to 3 of 3

Thread: looking for help with script to gather and print certain network info

Threaded View

  1. #1

    Thread Starter
    New Member
    Join Date
    Mar 2008
    Posts
    1

    looking for help with script to gather and print certain network info

    I could be way off on this script and I may not be in the right place to post my question, but here goes. I have been trying to manipulate this script to make it work so there may seem to be some lines that are extra. I have commented out many that I have been experimenting with. I will clean it once I get it to function. This was born out of the need to scan a network that has one domain, but several locations. The goal as to scan the entire domain and gather the workstation information. When I run the script it des not error and I do get a .txt file created as needed. The issue is that the text file is blank. I know I am missing something simple I just cannot see it. I have even tried just running it against my local machine, still no data collected. Any input would be greatly appreciated.

    As I sais there are extra lines here and there because I have tried to do it different ways. I commented out the extras.

    edit -- I tried to remove the extraneous lines to make the code a little easier to follow.

    Code:
    Option Explicit
    'On Error Resume Next
    
    Dim strComputer
    Dim objItem
    Dim sOutput
    Dim objWMIService
    Dim colItems
    Dim strOutput
    
    Dim wmiRoot
    Dim wmiQuery
    Dim colComputers
    Dim objComputer
    Dim strComputerRole
    
    Const ForWriting = 2
    Const OpenAsASCII = 0
    Const CreateIfNotExist = True
    
    Dim sDomain
    sDomain = InputBox("Enter domain to inventory")
    
    Dim oDomain
    Set oDomain = GetObject("WinNT://" & sDomain)
    
    Dim oFSO
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    
    Dim strFilePath
    strFilePath = "c:\Scripts\report.txt"
    
    Dim oOutput
    Set oOutput = oFSO.OpenTextFile(strFilePath ,ForWriting, CreateIfNotExist, OpenAsASCII)
    
    Dim oObject, sComputerName, sDetails
    For Each oObject In oDomain
    
    If oObject.Class = "Computer" Then
    sComputerName = oObject.Name
    
    
    sDetails = GetOSInfo(sComputerName)
    
    oOutput.WriteLine sDetails
    End If
    Next
    
    oOutput.Close
    
    Set oOutput = Nothing
    
    Set oFSO = Nothing
    Set oObject = nothing
    Set oDomain = Nothing
    
    WScript.Echo "Output saved to c:\Scripts\report.txt"
    Function GetOSInfo(strComputer)
    
    
    wmiRoot = "winmgmts:\\" & strComputer & "\root\cimv2"
    wmiQuery = "Select DomainRole from Win32_ComputerSystem"
    Set objWMIService = GetObject(wmiRoot)
    Set colComputers = objWMIService.ExecQuery (wmiQuery)
    
    
    
    'Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_OperatingSystem",,48)
    
    strOutput = String(70,"-")
    strOutput = strOutput & strComputer
    
    
    For Each objItem in colItems
    strOutput = strOutput & "BuildNumber: " & objItem.BuildNumber & vbCrLf
    strOutput = strOutput & "BuildType: " & objItem.BuildType & vbCrLf
    strOutput = strOutput & "Caption: " & objItem.Caption & vbCrLf
    strOutput = strOutput & "EncryptionLevel: " & objItem.EncryptionLevel & vbCrLf
    strOutput = strOutput & "InstallDate: " & objItem.InstallDate & vbCrLf
    strOutput = strOutput & "Manufacturer: " & objItem.Manufacturer & vbCrLf
    strOutput = strOutput & "MaxNumberOfProcesses: " & objItem.MaxNumberOfProcesses & vbCrLf
    strOutput = strOutput & "MaxProcessMemorySize: " & objItem.MaxProcessMemorySize & vbCrLf
    strOutput = strOutput & "Name: " & objItem.Name & vbCrLf
    strOutput = strOutput & "NumberOfLicensedUsers: " & objItem.NumberOfLicensedUsers & vbCrLf
    strOutput = strOutput & "NumberOfProcesses: " & objItem.NumberOfProcesses & vbCrLf
    strOutput = strOutput & "NumberOfUsers: " & objItem.NumberOfUsers & vbCrLf
    strOutput = strOutput & "OSProductSuite: " & objItem.OSProductSuite & vbCrLf
    strOutput = strOutput & "OSType: " & objItem.OSType & vbCrLf
    strOutput = strOutput & "OtherTypeDescription: " & objItem.OtherTypeDescription & vbCrLf
    strOutput = strOutput & "Primary: " & objItem.Primary & vbCrLf
    strOutput = strOutput & "ProductType: " & objItem.ProductType & vbCrLf
    strOutput = strOutput & "RegisteredUser: " & objItem.RegisteredUser & vbCrLf
    strOutput = strOutput & "SerialNumber: " & objItem.SerialNumber & vbCrLf
    strOutput = strOutput & "ServicePackMajorVersion: " & objItem.ServicePackMajorVersion & vbCrLf
    strOutput = strOutput & "ServicePackMinorVersion: " & objItem.ServicePackMinorVersion & vbCrLf
    strOutput = strOutput & "Version: " & objItem.Version & vbCrLf
    strOutput = strOutput & "WindowsDirectory: " & objItem.WindowsDirectory & vbCrLf
    
    Next
    
    GetOSInfo = sOutput
    End Function
    Last edited by Solinus; Mar 22nd, 2008 at 07:23 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width