none
WMI Abfrage mit Array und Foreach Schleifenproblem RRS feed

  • Frage

  • Hi,

     

    habe Probleme mit folgendem Skript. Ich muss dazusagen, dass ich Anfänger bin und mich erst noch in die Materie einarbeite. Leider habe ich allerdings bei diesem Skript einen denkfehler wie mir scheint. Das Skript soll später die Möglichkeit geben mit read-host Computernamen in ein array einzulesen und dann alle Festplattenlaufwerk IDs mit Freespace sowie Servernamen anzuzeigen. In dem folgenden Skript habe ich dem Array schon die beiden Computernamen hinzugefügt. Beim durchlaufen des Skriptes erhalte ich die drei Spalten Deviceid, freespace und computername. Hierbei weiß ich nicht wie ich bei der foreach Schleife es so hinbekomme, dass der richtige Computername den anderen beiden werten entsprechend hinzugefügt wird. Im Moment bekomme ich immer nur einen Computernamen für alle Werte. Danke schonmal für Hilfe im Voraus.

     

     

    $server = @("Computer1", "Computer2")


    $abfrage = Get-WmiObject win32_logicaldisk -computername $server 

                       
      foreach($objItem in $abfrage)
      {
        "{0,3} {1,20} {2,30}" -f

         $objItem.deviceid, [math]::truncate($objItem.freespace / 1GB), $server[0]
           }
               
                 



    • Bearbeitet Sysadmin21 Freitag, 18. März 2011 10:06 Kommentar gelöscht
    Freitag, 18. März 2011 09:45

Antworten

  • what about the following script:

     

    $servers = @("Computer1", "Computer2")

    foreach ($server in $servers) {
         $abfrage = Get-WmiObject win32_logicaldisk -computername $server 

       write-host $server                
      foreach($objItem in $abfrage)
      {
        "{0,3} {1,20} {2,30}" -f

         $objItem.deviceid, [math]::truncate($objItem.freespace / 1GB), $server[0]
           }

    }


    regards Thomas Paetzold visit my blog on: http://sus42.wordpress.com
    • Als Antwort markiert Sysadmin21 Freitag, 18. März 2011 12:30
    Freitag, 18. März 2011 11:43

Alle Antworten

  • what about the following script:

     

    $servers = @("Computer1", "Computer2")

    foreach ($server in $servers) {
         $abfrage = Get-WmiObject win32_logicaldisk -computername $server 

       write-host $server                
      foreach($objItem in $abfrage)
      {
        "{0,3} {1,20} {2,30}" -f

         $objItem.deviceid, [math]::truncate($objItem.freespace / 1GB), $server[0]
           }

    }


    regards Thomas Paetzold visit my blog on: http://sus42.wordpress.com
    • Als Antwort markiert Sysadmin21 Freitag, 18. März 2011 12:30
    Freitag, 18. März 2011 11:43
  • Thanks. that works.

    Freitag, 18. März 2011 12:30