PowerShell EnhancedHTML2 Modulü Kullanımı – Bölüm 1. Önceki iki makalemde PowerShell ile birlikte gelen ConvertTo-HTML fonksiyonunu derinlemesine ele almıştım. Bu seride ise Cloud and Datacenter MVP’si Don Jones’un oluşturduğu EnhancedHTML2 modülünü ve özelliklerini anlatacağım. EnhancedHTML2 modülü temel olarak default olarak gelen ConvertTo-HTML komutu ile aynı özelliklere sahip olsada görsel bakımdan oldukça gelişmiş özelikler sunuyor. Default olarak gelen komutta olduğu gibi CSS dosyalarını kullanmanın yanında JQuery ve JQuery Datatable bileşenlerini de HTML dosya oluştururken kullanabiliyor.
EnhancedHTML2 şu anda Powershell Gallery üzerinde yayınlanmış durumda ve Powershell Get kullanarak aşağıdaki komut yardımı ile kolaylıkla makinenize indirip import edebilirsiniz.
#Import Advanced HTML Module
Install-Module -Name EnhancedHTML2
Resim-1
Modulü import etme işleminin ardından basit fonksiyonlar kullanıp anlatımımıza başlayabiliriz.
İlk olarak Enhanced HTML modülü html çıktısını table ve list olmak üzere iki farklı tipte oluşturur. Çıktının hangi tipte olduğunu belirlemek için –As parametresini kullanıp table yada list değişkeninin atanması gerekir.
Bu bilginin ışığında aynı komutu kullanıp list ve table olarak farklı değişkenlere atama yapıp farkı gözlemleyelim (Burada da default olarak yaptığımız fragment işleminin benzeri olarak ConvertTo-EnhancedHTMLFragment cmdlet’ini kullanarak HTML fragment oluşturuyoruz.)
$Bios = Get-WmiObject -class Win32_BIOS | Select PSComputerName, Manufacturer, BIOSVersion |ConvertTo-EnhancedHTMLFragment -As List
$Bios2 = Get-WmiObject -class Win32_BIOS | Select PSComputerName, Manufacturer, BIOSVersion |ConvertTo-EnhancedHTMLFragment -As Table
Bu işlemin ardından değişkenlere kaydettiğimiz HTML fragment’leri kullanarak HTML dosyasını oluşturalım.
ConvertTo-EnhancedHTML -HTMLFragments $Bios,$Bios2 -CssUri C:\Users\firat.yasar\Desktop\ArticleTest\styles2.css | Out-File AsExample.html
HTML dosyasını kontrol ettiğimizde aşağıdaki gibi aynı data’ları hem list hem de table olarak görüntüleyebiliriz.
Resim-2
Bu özellik default olarak gelen ConvertTo-HTML cmdlet’inde olmayan ve bence oldukça kullanışlı bir parametredir. Böylece oluşturduğumuz HTML çıktılar sadece tablo olarak değil liste olarakda konfigüre edilebilir.
Tabi burada HTML dökümanını tarayıcıda açtığımızda list ve table‘a ait başlık bilgisinin bulunmadığını görmekteyiz. Verdiğimiz bilgilerin hangi class’a yada veri kaynağına ait olduğunu yazmamış raporlar açısından daha şık olacaktır.
Bu amaçla table ve list öğelerini oluştururken komuta başlık bilgisini de değişken olarak atamamız gerekir. Bu amaçla komutu aşağıdaki gibi düzenleyebiliriz.
$TitleContent1 = “<h2> Bios Info(As a List) </h2>”
$TitleContent2 = “<h2> Bios Info(As a Table) </h2>”
$Bios = Get-WmiObject -class Win32_BIOS | Select PSComputerName, Manufacturer, BIOSVersion | ConvertTo-EnhancedHTMLFragment -As List -PreContent $TitleContent1
$Bios2 = Get-WmiObject -class Win32_BIOS | Select PSComputerName, Manufacturer, BIOSVersion | ConvertTo-EnhancedHTMLFragment -As Table -PreContent $TitleContent2
ConvertTo-EnhancedHTML -HTMLFragments $Bios,$Bios2 -CssUri C:\Users\firat.yasar\Desktop\ArticleTest\styles2.css | Out-File PreExample.html
Komutların ardından html dosyası browser ile açıldığında şekilde görüldüğü gibi table ve list öğeleri öncesinde başlıklar bulunacaktır.
Resim-3
Not: Başlıkların büyüklükleri HTML sayfada Center yada Left konumunda olmalarını etkileyecektir. Precontent bilgisini <h1></h1> tagları arasında paylaşırsanız başlık aşağıdaki gibi büyük ve merkezi lokasyonunda bulunacaktır.
Resim-4
Umalım herkes için faydalı olmuştur. Şimdilik bu kadar. Bir sonraki bölümde Dynamic Table ve Hidden Senction özellikleri ile devam edeceğim.
Görüşmek üzere.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://www.powershellgallery.com/packages/EnhancedHTML2/2.1
TAGs: powershell, powershell ve HTML, powershell ile HTML tablo oluşturma, powershell convertto-html kullanımı, powershell ve css, powershell HTML report, powershell ile raporlama,powershell ile html rapor oluşturma, convertto-html ile fragment, powershell ile multi-senction html oluşturma, powershell v3,Powershell EnhancedHTML2,Powershell HTML Table,Powershell HTML list,Enhanced HTML2 özellikleri,Powershell HTML Dynamic Table,Powershell HTML Hidden Senction