PowerShell EnhancedHTML2 Modulü Kullanımı – Bölüm 3

PowerShell EnhancedHTML2 Modulü Kullanımı – Bölüm 3. Önceki iki bölümde Enhanced HTML’in öne çıkan özelliklerini anlatmıştım. Bu bölümde de parametrelerin Hash table olarak komuta nasıl verileceğinden bahsedeceğim.

Parametreler komutlara uzun uzadıya yazıldıkça komutun okunması ve yazılması zorlaşır. Bu amaçla istediğimiz parametreleri kullanarak bir Hash table’ı ardından bu Hash table’ı kullanarak istediğimiz özelliklerde HTML dosyamızı oluşturalım.

Hash tablolarından daha önceki makalelerimde ayrıntılı olarak bahsetmiştim. Dilerseniz bu makale öncesinde aşağıdaki linki kullanarak bir göz atabilirsiniz.

https://www.mshowto.org/windows-powershell-select-object-hash-table-and-formatting-bolum-3.html

Hash table içerisine komuta parametre olarak verdiğim tüm değişkenleri değerleri ile birlikte yazalım.

$params
= @{‘As’=‘Table’;

‘PreContent’=‘<h2> All Services</h2>’;

‘MakeTableDynamic’=$true;

‘TableCssClass’=‘grid’;

‘Properties’=‘Name’,‘DisplayName’, @{n=‘Service Status’;e={$_.Status};css={if ($_.Status -eq  “Stopped”) { ‘red’ }}}}

Hash table üzerinde Properties olarak tanımlanan bölüm biraz karışık gelebilir. Bu bölümde tabloda görünmesini istediğimiz Attribute’ları yazmamız gerekir. Bu yapıya Calculated Property adı verilir. Bununla alakalı da yine daha önce yazdığım aşağıdaki makaleden faydalanabilirsiniz. Precontent,MakeTableDynamic vb. Parametrelerin de kolaylıkla hash table içerisinde tanımlandığı görülmektedir.

https://www.mshowto.org/windows-powershell-select-object-hash-table-and-formatting-bolum-3.html

Bu Calculated Propery içerisinde servis durumuna göre css içerisindeki red değeri çağırılabilir. Yani eğer servisin durumu “stopped” ise tablo üzerinde rengi kırmızı yapabilirsiniz.

CSS üzerindeki ilgili alan da örnek olarak aşağıdaki gibi bir alandır.


Resim-1

Hash table içerisinde gerekli property’lerin konfigürasyonu yapıldıktan sonra bu property’leri atamak için komut aşağıdaki şekilde çalıştırılmalıdır.

$Services = Get-Service | ConvertTo-EnhancedHTMLFragment @params

ConvertTo-EnhancedHTML -HTMLFragments $Services -CssUri C:\Users\firat.yasar\Desktop\ArticleTest\styles2.css | Out-File frtparam.html

Komut çalıştırıldığında ve oluşturulan HTML dosya bir tarayıcı yardımı ile açıldığında sonuç aşağıdaki gibidir.


Resim-2

EnhencedHTML2 modülüne ilişkin anlattıklarımın bu makale ile sonuna geldik. Umarım faydalı olmuştur. Genel anlamıyla basit tutmaya çalıştım.

Daha ayrıntılı bilgi için Powershell.org üzerinde bu modül için yazılmış free ebook’tan faydalanabilirsiniz. Ben de anlatımlarımda oradaki örnekleri kullandım.

Bir sonraki makale serisinde CSV ve XML datasource’lar ile powershell’in iletişiminden bahsedeceğim.

 

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://www.powershellgallery.com/packages/EnhancedHTML2/2.1

https://www.gitbook.com/book/devops-collective-inc/creating-html-reports-in-powershell/details

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

Yazı gezinmesi

Mobil sürümden çık