Jump to content

Convertto-HTML - mehrspaltige Tabelle erstellen


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

Empfohlene Beiträge

Hallo Leute,

 

über ein Powershell Script erstelle ich eine Text Datei, die wie folgt aussieht:

 

Server MAIL-SERVER Replied to ping

Checking Services on: MAIL-SERVER

Mailbox Role Detected

Checking Mailbox Databases

Checking Public Folders Databases

Checking Free Disk Space

HT Role Detected

CAS Role Detected

Testing OWA Site

Exitcode:

0

 

Nun habe ich folgendes Script eingebaut, welches diesen Dateiinhalt in eine HTML Datei umwandelt.

 

$SourceFile = "C:\scripts\test.txt"
$TargetFile = "C:\scripts\test.htm"
$CssFile = "C:\scripts\test.css"

$MyFile = Get-Content $SourceFile
$MyFileLines = @()
Foreach ($Line in $MyFile) {
$MyCustomObject = New-Object -TypeName PSObject
Add-Member -InputObject $MyCustomObject -Type NoteProperty -Name Log -Value $Line
$MyFileLines += $MyCustomObject
}
$MyFileLines | ConvertTo-Html -property Log -CssUri $CssFile | Out-File $TargetFile

 

Das ganze funktioniert auch wunderbar, allerdings hätte ich gerne eine zweite Spalte dahinter.

 

1) Kann ich das Ganze im TXT File machen? Nur wie bekomme ich ein Textfile mit Write-Output Mehrspaltig? (CSV?)

2) Kann ich das in der Foreach Schleife machen, also sagen dass z.B. 2 Reihen eingelesen werden und erst dann das Objekt erstellt wird?

3) Kann ich das mit -Fragment die Tabelle händisch bauen?

 

Ich stehe im Moment auf dem Schlauch und bin für alle Tipps dankbar.

 

Gruß

Daniel

Link zu diesem Kommentar
  • 2 Wochen später...

Hi,

Ein Array ist zweidimensional.

Ich benutze für mehrspaltige Tabellen meist DataTables als Struktur. Finde ich sehr flexible und übersichtlich

 

 

$DataTable = New-Object System.Data.DataTable("Test")
$Column1 = New-Object System.Data.DataColumn("Vorname")
$Column2 = New-Object System.Data.DataColumn("Nachname")
$Column3 = New-Object System.Data.DataColumn("Wohnort")
$DataTable.Columns.Add($Column1)
$DataTable.Columns.Add($Column2)
$DataTable.Columns.Add($Column3)
$DataTable.Rows.Add("Dagobert","Duck","Entenhausen") | out-null
$DataTable.Rows.Add("Gundel","Gaukelei","Vesuv") | out-null
$DataTable | format-Table "Vorname","Nachname","Wohnort" -AutoSize   #Bildschirm
$DataTable | export-csv -delimiter ";" -path "c:\temp\test.csv"   #csv"

#Ausgabe am Host Vorname  Nachname Wohnort    
-------  -------- -------    
Dagobert Duck     Entenhausen
Gundel   Gaukelei Vesuv

 

Bischen was zu Datatables in PS findest du hier:

http://powershellpraxis.de/index.php/datenzugriffe-ueber-ado-net/2disconnectedclasses

 

blub

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...