0

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

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

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.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir