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ß