Computer Specs Abfrage in der Domäne

  • Hallo, ich versuche ein Script zu schreiben,dass mir ermöglicht eine Abfrage aller angeschlossener PCs der Domäne zu loggen.

    Wie mache ich es nun, dass ich einen IP Bereich eingeben kann und nicht jede einzel? Also eine Art schleife um das ganze und dann die IP's hochzählen.
    Bei der Abfrage von "Size" Festplattengröße bekomme ich meist nur eine leere Antwort, woran kann das liegen?

    Für Verbesserung / leichtere Variante bin ich dankbar!


    Dim $strComputer, $objWMIService
    Const $wbemFlagReturnImmediately = 0x10
    Const $wbemFlagForwardOnly = 0x20


    $strComputer = "10.10.10.10"
    $objWMIService = ObjGet("winmgmts:{(RemoteShutdown)}//" & $strComputer & "\root\CIMV2")

    ;########## WMI Abfrage 1
    Local $colItems = ""
    $colItems = $objWMIService.ExecQuery("Select * from Win32_BIOS")

    For $objItem in $colItems
    Local $serial = $objItem.SerialNumber
    Next

    ;########## WMI Abfrage 2
    Local $colItems = ""
    $colItems = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")

    For $objItem in $colItems
    Local $model = $objItem.Model
    Local $memory = $objItem.TotalPhysicalMemory
    Local $manufactory = $objItem.Manufacturer
    Local $pcname = $objItem.Caption
    Local $user = $objItem.UserName
    Next

    ;########## WMI Abfrage 3
    Local $colItems = ""
    $colItems = $objWMIService.ExecQuery("Select * from Win32_LogicalDisk")

    For $objItem in $colItems
    Local $hddsize = $objItem.Size
    Next

    ;########## WMI Abfrage 4
    Local $colItems = ""
    $colItems = $objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

    For $objItem in $colItems
    Local $os = $objItem.Caption
    Local $ossp = $objItem.CSDVersion
    Next

    $file = FileOpen("log.txt", 1)
    FileWriteLine($file, $pcname & "," & $os & "," & $ossp & "," & $model & "," & $serial & "," & $memory & "," & $hddsize & "," & $user )
    FileClose($file)


    Gruß

  • Nächstes mal den Code in

    Code
    [autoit] code [/autoit]

    packen

    Eine möglichkeit um die IPs hochzuzählen wäre eine for-schleife.
    So zbsp:

    [autoit]


    for $i = 0 to 99 step +1
    $var = $ip+$i
    next

    [/autoit]