HTML Reporting With PowerShell – Part 2

By | 18 February 2018

Bir önceki bölümde Powershell ile HTML dökümanları oluşturmuş ve multi senction komut çalıştırma durumunda tek bir HTML dökümanının nasıl oluşturulacağından bahsetmiştik.

Bu bölümde de oluşturduğumuz HTML tabloları daha güzel hale getirmek için css formatında style dosyaları oluşturup HTML dosyalarına entegre edeceğiz.

Bu kısımda da iki farklı kullanım söz konusu. Önce ilkini daha sonrasında da olması gerekeni paylaşacağım.

İlk olarak css dosyasının içerceği içeriği HTML dosyasında <style> tagları arasına entegre edeceğiz.

Bunun için öncelikle <style> tagları arasında olması gereken bileşenleri powershell’de bir değişkene atayalım.

Resim-1

Değişkeni atadıktan sonra HTML dosyasını oluştururken kullandığımız komuta ek olarak bu style dosyasını da göstermemiz gerekir. Bu amaçla aşağıdaki komutu kullanıyoruz.

$OS = Get-WmiObject -class Win32_OperatingSystem | ConvertTo-HTML -Fragment

$Bios = Get-WmiObject -class Win32_BIOS | ConvertTo-HTML -Fragment

ConvertTo-HTML -Body “$OS $Bios” -Head $Header | Out-File PCReport2.html

Komutlar sırası ile çalıştırıldıktan sonra oluşan HTML dosyasını browser ile açtığımızda karşımıza gelen görüntü aşağıdaki gibidir.

Resim-2

Göründüğü gibi style dosyasında belirtilen renk ve font ayarları tablomuzu daha görsel bir hale getirdi. Bu işlemin ardından oluşturduğumuz HTML dosyasına da bir göz atalım.

Dosyaya göz attığımızda powershell üzerinde <head> bölümünde yer alması için değişkene atadığımız bileşenlerin gerekli yerde yer aldığı görünmektedir.

Resim-3

Bazen style bölümünün içerdiği bileşenler çok karmaşık olabilir. Bu da HTML dosyasının okunmasını zorlaştırabilir. Düzgün ve okunabilir bir HTML dosyası istiyorsak style bileşenlerini ayrı bir css dosyada tutup HTML dosyası üzerinden referans olarak css dosyasını göstermek daha düzgün bir çözüm olacaktır. Böylece HTML dosyaları da okunabilir ve sade bir hale gelecektir.

Bunu sağlamak için yukarıda çalıştırdığımız komutta çok ufak bir iki değişiklik yapmamız yeterli olacaktır.

İlk olarak style bileşenlerini içerecek bir css dosyası oluşturalım.

Resim-4

Ardından bu css dosyasını kullanarak aşağıdaki komutları sırası ile çalıştırıp HTML dosyasını oluşturalım.

$OS = Get-WmiObject -class Win32_OperatingSystem | ConvertTo-HTML -Fragment

$Bios = Get-WmiObject -class Win32_BIOS | ConvertTo-HTML -Fragment

ConvertTo-HTML -Body “$OS $Bios” -Title “Report” -CssUri styles.css | Out-File StatusReport3.html

Burada dikkat edeceğiniz gibi –CssUri parametresi ile oluşturduğumuz style.css dosyasını gösteriyoruz. Bir önceki örnekte <head> bölümünün içereceği bileşenleri tanımlarken bu bileşenler içerisine Title’ı da eklemiştik. Böylece komut içerisinde Title’I parameter olarak vermemize gerek kalmamıştı. Ancak burada style bileşenlerini dışarıdaki bir css dosyasından aldığımız için title’ı parameter olarak vermemiz gerekiyor.

Komutlar çalıştırıldıktan sonra HTML dosyasını browser ile açtığımzda tablo aşağıdaki gibi görsel öğeleri düzenlenmiş şekilde gelecektir.

Resim-5

Bu işlemin ardından HTML dosyasını açıp içeriğindeki değişime göz atalım.

Dosyaya göz attığımızda aşağıdaki gibi okunabilir bir HTML döküman ile karşılaşıyoruz. (Style bileşenleri CSS’ten alındığı için head bölümünde css dosyasına ilişkin bir referans linki yer almaktadır.)

Resim-6

CSS’e daha önceden uğraştıysanız bu bölümde daha güzel görseller oluşturmanız gayet mümkün. Bu sayede oluşturduğunuz raporlar hem daha okunabilir hem de görsel açıdan daha zengin hale gelecektir.

Bir sonraki bölümde görüşmek üzere.

 

Fırat

Leave a Reply