ManLerntNieAus 10 Geschrieben 24. August 2012 Melden Teilen Geschrieben 24. August 2012 Hallo liebe ITler, ich habe hier schon einmal einen Post gemacht zum IP's sammeln, habe auch was gefunden und versucht in meine Hard- und Softwareliste einzubauen. Leider hat es nicht wirklich funktioniert. Außerdem habe ich bei meiner Hard- und Softwareliste einen seltsamen Fehler drinnen, wenn ich es einmal durchlaufen lassen. Bin Anfänger und habe nicht wirklich das KnowHow... Hier ist der Code: $Hersteller = "%Microsoft%" $Eingabedateiname = "computer.txt" $Query = "SELECT * FROM Win32_Product where not Vendor like '%Microsoft%'" filter select-Online { $status = Get-WmiObject Win32_PingStatus -Property StatusCode -filter "Address='$_'" if ($status.Statuscode -eq 0) { $_ } } #Import der IP's vom Netzwerk $i =1 $Ip = "192.168.0." $ipsamling = @() Write-Host "IP Address" Write-Host "----------------------------------------" do { $Ip4th = $Ip + $i $Pingy = get-WmiObject Win32_PingStatus -f "Address='$Ip4th'" if($Pingy.StatusCode -eq 0) { "{0,0} {1,5} {2,5}" -f $Pingy.Address, $Pingy.StatusCode," ON NETWORK" $ipsamling += $Pingy.Address } else {"{0,0} {1,5} {2,5}" -f $Pingy.Address, $Pingy.StatusCode, " xxxxxxxxx" } $i++ } until ($i -eq 255) echo "Kontakt til:" echo $ipsamling # Abpeichern der IP'S in eine Liste #get-WmiObject -query $Query -ipsamling $_ | select Ip | export-csv -path .\$svr\Computerversuch.csv –noType # Import der Computernamen $Computernamen = Get-Content \.$ipsammling $Computernamen | foreach { if (Ping($_)) { Write-Host "Inventarisiere Software für Computer $_ ..." # Auslesen der installierten MSI-Pakete auf allen Computern $Software += foreach-object { get-wmiobject -query $Query -computername $_ | select Name, Version |export-csv -path .\$svr\Softwareinventarliste.csv -noType } } else { Write-Error "Computer nicht erreichbar!" } } # Check to see if a directory exists for this machine, if not create one if (!(Test-Path -path .\$Computernamen)) { New-Item .\$Computernamen\ -type directory } # Get the server info #getwmiinfo $Eingabename zuerst laufen lassen, Fehlermeldung ignorieren, danach getwmiinfo $Computernamen eingeben und $Eingabename aus"rauten" # getwmiinfo $Eingabename getwmiinfo $Computernamen function getwmiinfo ($Computernamen) { # Get ComputerSystem info and write it to a CSV file gwmi -query "select * from Win32_ComputerSystem" -computername $Computernamen | select Name, Model, Manufacturer, DNSHostName, Domain, PartOfDomain, NumberOfProcessors, SystemType, TotalPhysicalMemory, UserName | export-csv -path .\$svr\ComputerSystem.csv -noType # Get OperatingSystem info and write it to a CSV file gwmi -query "select * from Win32_OperatingSystem" -computername $Computernamen | select Name, Version, FreePhysicalMemory, ServicePackMajorVersion, ServicePackMinorVersion | export-csv -path .\$svr\OperatingSystem.csv -noType # Get PhysicalMemory info and write it to a CSV file gwmi -query "select * from Win32_PhysicalMemory" -computername $Computernamen | select Name, Capacity, DeviceLocator, Tag | export-csv -path .\$svr\PhysicalMemory.csv -noType # Get LogicalDisk info and write it to a CSV file gwmi -query "select * from Win32_LogicalDisk where DriveType=3" -computername $Computernamen | select Name, FreeSpace, Size | export-csv -path .\$svr\LogicalDisk.csv –noType } Bei diesem Teil in der Softwareliste kommt beim ersten Durchlauf immer ein Fehler: # Get the server info #getwmiinfo $Eingabename zuerst laufen lassen, Fehlermeldung ignorieren, danach getwmiinfo $Computernamen eingeben und $Eingabename aus"rauten" # getwmiinfo $Eingabename getwmiinfo $Computernamen Ich würde mich sehr über Hilfe freuen! Danke schonmal und einen schönen Freitag Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.