Computerinformationen auslesen....

  • VBScript

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von dkzaar.

    Kröger schrieb am 11.02.2004 15:29
    Ich glaube VB-Script ist für Sowas nicht geeignet. Man kann den Speicher nur mit WinApis auslesen, und auf die kannst du nicht mit VBS zugreifen.


    Felix Kröger


    Natürlich funktioniert das mit vbs! Erkläre mir doch bitte mal wie ILoveU sonst Registryeinträge erstellen konnte.
    Hallo,

    Versuche es mal mit folgendem Script:


    ' Check command line parameters
    Select Case WScript.Arguments.Count
    Case 0
    ' Default if none specified is local computer (".")
    Set objWMIService = GetObject( "winmgmts://./root/cimv2" )
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
    For Each objItem in colItems
    strComputer = objItem.Name
    Next
    Case 1
    ' Command line parameter can either be a computer
    ' name or "/?" to request online help
    strComputer = UCase( Wscript.Arguments(0) )
    if InStr( strComputer, "?" ) > 0 Then Syntax
    Case Else
    ' Maximum is 1 command line parameter
    Syntax
    End Select

    ' Header line for screen output
    strMsg = vbCrLf & "Hardware summary for " & strComputer & ":" & vbCrLf & vbCrLf

    ' Enable error handling
    On Error Resume Next

    ' Connect to specified computer
    Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
    ' Display error number and description if applicable
    If Err Then ShowError

    ' Query processor properties
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_Processor", , 48 )
    ' Display error number and description if applicable
    If Err Then ShowError
    ' Prepare display of results
    For Each objItem in colItems
    strMsg = strMsg & "Processor(s)" & vbCrLf _
    & " Name: " _
    & Strip( objItem.Name ) & vbCrLf _
    & " Manufacturer: " _
    & objItem.Manufacturer & vbCrLf _
    & " Description: " _
    & objItem.Description & vbCrLf _
    & " Current Clock Speed: " _
    & objItem.CurrentClockSpeed & " MHz" _
    & vbCrLf & vbCrLf
    Next

    ' Query memory properties
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_LogicalMemoryConfiguration", , 48 )
    ' Display error number and description if applicable
    If Err Then ShowError
    ' Prepare display of results
    For Each objItem in colItems
    strMsg = strMsg & "Memory" & vbCrLf _
    & " Total Physical Memory: " _
    & Int( ( objItem.TotalPhysicalMemory + 1023 ) / 1024 ) _
    & " MB" & vbCrLf & vbCrLf
    Next

    ' Query harddisk properties
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_DiskDrive", , 48 )
    ' Display error number and description if applicable
    If Err Then ShowError
    ' Prepare display of results
    For Each objItem in colItems
    strMsg = strMsg & "Harddisk(s)" & vbCrLf _
    & " Manufacturer: " _
    & objItem.Manufacturer & vbCrLf _
    & " Model: " _
    & objItem.Model & vbCrLf _
    & " Size: " _
    & Int( ( objItem.Size + 536870912 ) / 1073741824 ) _
    & " GB" & vbCrLf & vbCrLf
    Next

    ' Query video adapter properties
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_VideoController", , 48 )
    ' Display error number and description if applicable
    If Err Then ShowError
    ' Prepare display of results
    For Each objItem in colItems
    strMsg = strMsg & "Video" & vbCrLf _
    & " Name: " _
    & objItem.Name & vbCrLf _
    & " Description: " _
    & objItem.Description & vbCrLf _
    & " Video Processor: " _
    & objItem.VideoProcessor & vbCrLf _
    & " Adapter RAM: " _
    & Int( ( objItem.AdapterRAM + 524288 ) / 1048576 ) _
    & " MB" & vbCrLf _
    & " Video Mode Description: " _
    & objItem.VideoModeDescription & vbCrLf & vbCrLf
    Next

    ' Display results
    WScript.Echo strMsg

    'Done
    WScript.Quit(0)


    Sub ShowError()
    strMsg = vbCrLf & "Error # " & Err.Number & vbCrLf & _
    Err.Description & vbCrLf & vbCrLf
    Syntax
    End Sub


    Sub Syntax()
    strMsg = strMsg & vbCrLf _
    & "Hardware.vbs, Version 1.11" & vbCrLf _
    & "Display basic hardware summary for " _
    & "any computer on the network" & vbCrLf & vbCrLf _
    & "Usage: CSCRIPT //NOLOGO HARDWARE.VBS " _
    & "[ computer_name ]" & vbCrLf & vbCrLf _
    & "Where: " & Chr(34) & "computer_name" & Chr(34) _
    & " is the optional name of a remote" & vbCrLf _
    & " computer (default is local computer " _
    & "name)" & vbCrLf & vbCrLf _
    & "Written by Rob van der Woude" & vbCrLf _
    & "http://www.robvanderwoude.com" & vbCrLf & vbCrLf _
    & "Created with Microsoft's Scriptomatic tool" & vbCrLf _
    & "http://www.microsoft.com/technet/treeview/default.asp" _
    & "?url=/technet/scriptcenter/WMImatic.asp" & vbCrLf
    WScript.Echo strMsg
    WScript.Quit(1)
    End Sub


    Private Function Strip( strInput )
    Do While Left( strInput, 1 ) = " "
    strInput = Mid( strInput, 2 )
    Loop
    Strip = strInput
    End Function