Cara menggunakan powershell convertto-html judul

Cara menggunakan powershell convertto-html judul

Jeff Hicks

|

25 Juli 2017

Cara menggunakan powershell convertto-html judul

Cara menggunakan powershell convertto-html judul

Semua orang menyukai laporan HTML yang bagus. Apakah saya benar? . Saya pikir saya akan menawarkan beberapa tip dan trik yang mungkin tidak Anda ketahui, termasuk beberapa yang selalu saya gunakan saat membuat laporan. Beberapa di antaranya didokumentasikan dalam bantuan untuk ConvertTo-HTML. Anda membaca bantuan, kan? . Ini bagus untuk kita. Ini berarti kita dapat memodifikasi HTML dengan cepat dan menyimpan file setelah selesai
 

 

Selektif

Tip pertama, dan mungkin yang paling penting, adalah selektif. Mari kita ambil perintah dan keluaran sederhana seperti ini

Cara menggunakan powershell convertto-html judul

Perintah PowerShell Sederhana (Kredit gambar. Jeff Hicks)


Anda ingin membuat versi HTML ini, jadi Anda menjalankan perintah seperti ini.
Get-EventLog -list | convertto-html | out-file d:\temp\a.htm

Ketika Anda membuka file di browser Anda, semuanya tidak seperti yang Anda harapkan

Cara menggunakan powershell convertto-html judul

Output yang Dikonversi (Kredit gambar. Jeff Hicks)


Ini karena Convertto-Html, seperti Export-CSV dan Export-Clixml, mengambil seluruh objek. Ini bukan hanya hasil default yang Anda lihat di layar. Ingat, semuanya akan diperlakukan sebagai string. Dalam contoh saya, jika saya menginginkan file HTML yang serupa, saya harus membuat ulang hasilnya dengan Select-Object. Ini mungkin memerlukan penyaluran hasil asli ke Get-Member untuk menemukan nama properti "nyata".
Get-Eventlog -List | Select @{Name="Max(K)";Expression = {$_.MaximumKilobytes }},
@{Name="Retain";Expression = {$_.MinimumRetentionDays }},
OverFlowAction,@{Name="Entries";Expression = {$_.entries.count}},
@{Name="Log";Expression = {$_.LogDisplayname}}
_

Saya selalu menguji tanpa mengonversi terlebih dahulu

Cara menggunakan powershell convertto-html judul

Membuat Ulang Keluaran (Kredit gambar. Jeff Hicks)


Saya mendapatkan daftar, bukan tabel, tetapi setidaknya propertinya benar. Mari kita buat ulang file HTML dengan mem-pipe di atas ke Convert-HTML dan kemudian Out-File menimpa file asli dan tidak berguna

Cara menggunakan powershell convertto-html judul

File yang Direvisi (Kredit gambar. Jeff Hicks)


Ini jauh lebih baik dibandingkan dengan apa yang saya miliki pada awalnya. Meskipun, karena semuanya diperlakukan sebagai string, saya dapat memformat nilai numerik agar lebih mirip dengan keluaran PowerShell asli.
Get-Eventlog -List | Select @{Name="Max(K)";Expression = {"{0:n0}" -f $_.MaximumKilobytes }},
@{Name="Retain";Expression = {$_.MinimumRetentionDays }},
OverFlowAction,@{Name="Entries";Expression = {"{0:n0}" -f $_.entries.count}},
@{Name="Log";Expression = {$_.LogDisplayname}} | convertto-html -Title "Event Log Report" | out-file d:\temp\a.htm

Saya juga pergi dan menambahkan judul, jadi saya mendapatkan sesuatu yang lebih berguna daripada HTML TABLE

Cara menggunakan powershell convertto-html judul

Laporan Berformat Lebih Baik (Kredit gambar. Jeff Hicks)

Gunakan Konten Pra/Pasca

Kami mulai membangun sesuatu dengan sedikit daya tarik visual. Ini mengarahkan saya ke saran lain, manfaatkan parameter konten sebelum dan sesudah

Saat Anda mem-pipe sesuatu ke ConvertTo-HTML, cmdlet biasanya membuat tabel. Tetapi Anda dapat memasukkan arahan HTML tambahan untuk hal-hal yang harus dimasukkan sebelum dan sesudah kode utama. Anda dapat menggunakan kode html sebanyak yang Anda inginkan

Get-Eventlog -List | Select @{Name="Max(K)";Expression = {"{0:n0}" -f $_.MaximumKilobytes }},
@{Name="Retain";Expression = {$_.MinimumRetentionDays }},
OverFlowAction,@{Name="Entries";Expression = {"{0:n0}" -f $_.entries.count}},
@{Name="Log";Expression = {$_.LogDisplayname}} |
convertto-html -Title "Event Log Report" -PreContent "<H1>$($env:COMPUTERNAME)</H1>" -PostContent "<H5><i>$(get-date)</i></H5>" |
out-file d:\temp\a.htm

Saya menambahkan elemen intro menggunakan tag H1 untuk menampilkan nama komputer. Mengikuti konten, saya memasukkan tanggal dan waktu saat ini yang diformat dengan judul H5 dan tag miring

Cara menggunakan powershell convertto-html judul

Laporkan dengan Pra dan Pasca Konten (Kredit gambar. Jeff Hicks)


Tentu saja, Anda selalu dapat menentukan jalur ke file CSS.
Get-Eventlog -List | Select @{Name="Max(K)";Expression = {"{0:n0}" -f $_.MaximumKilobytes }},
@{Name="Retain";Expression = {$_.MinimumRetentionDays }},
OverFlowAction,@{Name="Entries";Expression = {"{0:n0}" -f $_.entries.count}},
@{Name="Log";Expression = {$_.LogDisplayname}} |
convertto-html -Title "Event Log Report" -PreContent "<H1>$($env:COMPUTERNAME)</H1>" -PostContent "<H5><i>$(get-date)</i></H5>" -CssUri C:\scripts\text.css |
out-file d:\temp\a.htm
_

Cara menggunakan powershell convertto-html judul

Dengan Style Sheet (Kredit gambar. Jeff Hicks)


Jika Anda ingin bermain bersama di rumah, ini adalah kode CSS yang saya gunakan.
body { background-color:#E5E4E2;
       font-family:Monospace;
       font-size:10pt; }
td, th { border:0px solid black;
         border-collapse:collapse;
         white-space:pre; }
th { color:white;
     background-color:black; }
table, tr, td, th { padding: 0px; margin: 0px ;white-space:pre; }
table { margin-left:25px; }
h2 {
 font-family:Tahoma;
 color:#6D7B8D;
}
.footer
{ color:green;
  margin-left:25px;
  font-family:Tahoma;
  font-size:8pt;
}


Saya menggunakan file di hard drive saya. Ini berarti jika ada orang lain yang melihat file tersebut, mereka tidak akan mendapatkan format yang sama. Solusinya adalah menggunakan jalur file CSS yang dapat dijangkau semua orang. Periksa kembali nanti untuk artikel berikutnya dalam seri ini