Dutch_OnE 32 Posted December 27, 2012 Report Share Posted December 27, 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 Quote Link to comment
blub 115 Posted January 6, 2013 Report Share Posted January 6, 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 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.