1. Ana Sayfa
  2. Microsoft PowerShell
  3. PowerShell EnhancedHTML2 Modulü Kullanımı – Bölüm 3

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

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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda 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 ve css, , ,powershell ile html rapor oluşturma, , , ,Powershell EnhancedHTML2,Powershell HTML Table,,,,

Yorum Yap

Yazar Hakkında

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yorum Yap