Dutch_OnE 39 Geschrieben 27. Dezember 2012 Melden Teilen Geschrieben 27. Dezember 2012 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 6. Januar 2013 Melden Teilen Geschrieben 6. Januar 2013 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 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.