Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Multi Array enthält nicht alle Daten

$
0
0

Hallo,

bin immer noch dabei ein Script für Inventarisierung von Hardware zu schreiben / erweitern und die Daten in einer Excel-Tabelle zu speichern.

Da ich vorher nicht weiß, wie viele Netzwerkkarten, CPU's usw. ein Rechner aufweist, müssen die Spalten variabel sein. Das habe ich auch hinbekommen.

# CPU Name des Computers auslesen
        $script:CPUs = Get-WmiObject Win32_Processor -ComputerName $ComputerName | Select-Object -ExpandProperty Name
        # Array mit Anzahl der CPUs pro Rechner erstellen
        $CPUsArray = @()
        $CPUsArray += $script:CPUs
        $script:CPUCounter += $CPUsArray.Count

# Maximale Anzahl der verbauten Geräte ermitteln $CPUMax = $script:CPUCounter | Measure-Object -max | Select-Object -expand Maximum for($i=1; $i -le $CPUMax; $i++){ $ExlWorksheet.Cells.Item(1,$Col).Value2 = 'CPU'+$i $Col++

}

Soweit klappt das auch, jedoch habe ich Probleme beim Befüllen eines Multi-Arrays mit den Daten. Es sind danach nicht alle Datensätze vorhanden.

# Jeden Rechner einzeln verarbeiten
ForEach ($ComputerName in $ComputerNames) {
    $script:j++
    if(Test-Connection -ComputerName $ComputerName -Quiet -Count 1) {
        # wenn der Rechner per Ping erreichbar ist

        # Netzwerkkarte(n) des Rechners auslesen die eien IPAdresse haben
        $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ComputerName | Where-Object {$_.ipenabled -eq 'true'}
        # Array mit der Anzahl der Netzwerkkarten pro Rechner erstellen
        $NetworksArray = @()
        $NetworksArray += $Networks
        $script:NetworkCounter += $NetworksArray.Count

        # MultiArray mit allen Karten
        $script:MultiNetwork += ,@($script:j, $Networks.IpAddress[0])

    } #end if
    else{
        # wenn der Rechner nicht per Ping erreich bar ist
        $script:MultiNetwork += ,@($script:j, 'Host nicht erreichbar')


    } #end else

} # end foreach Computer

Lasse ich mir das Array $script:MultiNetwork ausgeben, fehlt z.B. mein eigener Rechner, der mehrere IP-Adressen hat.

Für einen Rat, was ich falsch mache wäre ich Euch dankbar.

Gruß Michael


Gruß Michael


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>