Jump to content

Div. PowerShell Abfragen in eine HTML Tabelle konvertieren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

ich hänge gerade an einer Stelle fest und hoffe ihr könnt mir den entscheidenden Hinweis geben. Beispiel:

$vmInfos = Get-VM XYZ* | Select-Object Name, PowerState
$vmTools = Get-VM XYZ* | % { Get-View $_.id } | Select-Object @{ N="ToolsVersion"; E={$_.Config.Tools.ToolsVersion}}, @{ N="ToolStatus"; E={$_.Guest.ToolsVersionStatus}}

Ich würde gerne die beiden Abfragen in einer HTML Datei ausgeben, nicht untereinander, sprich jeweils eine Tabelle pro Abfrage, sondern in einer Tabelle und entsprechend in einer Zeile.

Name , PowerState, ToolsVersion, ToolsStatus

xyz01, PoweredOn, 10.458.22, updateNeeded

xyz02, PoweredOn, 10.458.22, updateNeeded

xyz03, PoweredOn, 10.458.22, updateNeeded

 

Habt ihr eine Idee wie ich das realisiert bekomme? 

Danke und Gruß
Christian

Link zu diesem Kommentar

Hi zusammen,

ConvertTo-Html und foreach sind natürlich klar! ;)

Mein Problem ist, das ich nicht weiß wie ich mehrere Abfragen in eine Ausgabe bekomme.

Aktuell erzeuge ich mir folgendes Resultat:

Name    Zustand    Datacenter    Cluster    VMhost    Tag    Hinweis
VM01    PoweredOff    DC-XY01    MC-PROD01    abc036.contoso.com    DC-XY    Datenbankserver
VM02    PoweredOn    DC-XY01    MC-PROD03    abc036.contoso.com    DC-XY    Testserver
VM03    PoweredOff    DC-XY02    MC-PROD02    abc036.contoso.com    DC-XY    Fileserver

 

Name    ToolsVersion    ToolStatus
VM01    0    guestToolsNotInstalled
VM02    0    guestToolsNotInstalled
VM03    0    guestToolsNotInstalled

 

Ergebnis soll aber eine HTML Datei und eine Tabelle sein, wo  Name    Zustand    Datacenter    Cluster    VMhost    Tag    Hinweis um ToolsVersion    ToolStatus erweitert werden:

Name    Zustand    Datacenter    Cluster    VMhost    Tag    Hinweis    ToolsVersion    ToolStatus
VM01    PoweredOff    DC-XY01    MC-PROD01    abc036.contoso.com    DC-XY    Datenbankserver    0    guestToolsNotInstalled
VM02    PoweredOn    DC-XY01    MC-PROD03    abc036.contoso.com    DC-XY    Testserver    0    guestToolsNotInstalled
VM03    PoweredOff    DC-XY02    MC-PROD02    abc036.contoso.com    DC-XY    Fileserver    0    guestToolsNotInstalled

 

Ich könnte schummeln und hinter (in diesem Fall) beide Abfragen ein  

| ConvertTo-HTML -Fragment

setzen. Mittels CSS und table { float: left; } würde die Optik passen, aber eben nur die Optik, weil er mir eine zweite Tabelle neben die erste legt und ich somit aus HTML Sicht keine Zeile habe.

 

Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken.

Möglicherweise ist das ganze auch so simpel zu lösen, das ich den Wald vor lauter Bäumen nicht sehe. :oh2:

 

Gruß

Christian

bearbeitet von Christian
Link zu diesem Kommentar
vor 4 Stunden schrieb Christian:

Mein Problem ist, das ich nicht weiß wie ich mehrere Abfragen in eine Ausgabe bekomme.

Die eigentliche Antwort auf diese Frage, hat Dir Jan ja schon gegeben, aber sind denn in diesem Fall überhaupt zwei separate Abfragen nötig? Ich hab keine VMWare-Umgebung zur Verfügung aber es sieht für mich, danach aus, als sollte folgender Schnipsel genügen ...  

Get-VM XYZ* | 
    Select-Object Name, PowerState,
         @{ N = "ToolsVersion"; E = { $_.Config.Tools.ToolsVersion } }, 
         @{ N = "ToolStatus"; E = { $_.Guest.ToolsVersionStatus }}

 

Link zu diesem Kommentar
vor 2 Stunden schrieb Christian:

Die Antwort von Jan ist leider nicht die Lösung für mein Problem. 

Im Foreach-Loop holst du dir mit deinen 12 Abfragen die Infos pro VM und speicherst die "Notfalls" in einem PSCustom-Object zwischen und schreibst das nachher ins HTML File. Ggfs. könntest du auch alle PSCustom-Objekte, die du im Loop immer wieder überschreiben würdest noch in ein Array schieben. Am Ende wird dann das Array aus PSCustom-Objekten in deine HTML Datei geschrieben.

Link zu diesem Kommentar
vor 17 Stunden schrieb Christian:

das oben ist ja nur ein Beispiel. Ich erzeuge mir einen Report aus 12 Abfragen. ?

Das hättest Du in Deiner initialen Anfrage gern mit erwähnen dürfen. ;-)  Es macht meistens schon Sinn, wenn die Helfer wissen, worum es eigentlich geht.   z.B. Wenn Du anfragst, ob jemand eine Idee hat, warum sich Deine Auto so langsam bewegt. So eine Forumsanfrage würde bestimmt wahnsinnig viele Rückfragen und Vermutungen produzieren. Wenn Du aber gleich mitgeschrieben hättest, dass Du Dein Auto bisher nur von außen schiebst, weil Du nicht weißt, wie man das richtig macht und auch schon Freunde gebeten hattest, Dir beim Schieben zu helfen, hättest Du vermutlich viel schneller die Antwort erhalten, dass man sich in ein Auto auch reinsetzen kann und sich das dann quasi von alleine  bewegt.  ;-) :D :aetsch2::lol3:

bearbeitet von BOfH_666
Link zu diesem Kommentar

Hätte hätte Fahrradkette - ich werfe dir ja auch nicht vor das deine Antwort nur bedingt zu meiner Frage passt. ;-) 

Wenn ich mit meinem Auto zweimal links abbiegen möchte, ist die Antwort "bieg doch nur einmal links ab" nicht zielführend. 
Mal ganz davon abgesehen, das dein Vorschlag so auch kein Ergebnis liefert. 

 

Ich hoffe du nimmst es mir nicht übel, ist nicht böse gemeint. Beim nächsten Mal versuche ich es direkt etwas genauer. :thumb1:

bearbeitet von Christian
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...