1. Anasayfa
  2. Microsoft PowerShell

Microsoft PowerShell – Formatting Output – B – Bölüm 13


0

Microsoft PowerShell – Formatting Output – B – Bölüm 13. Daha önceki makalemde Select-Object komutu ile listelenen obje Property’lerine ait değerlerin n ve e Key’lerini kullanarak nasıl calculated Property’ler oluşturulduğunu anlatmıştım.

Ayrıntılı bilgi için aşağıdaki linki kullanabilirsiniz.

Format-Table komutu ile aynı zamanda aşağıdaki Key’ler kullanılarak komut çıktıları özelleştirilebilir.


Resim-1

Örnek olarak aşağıdaki komut baz alınırsa;

Get-Process |
Format-Table -Property Name,ID,@{n=’VM(MB)’;
e={$PSItem.VM / 1MB};
{0:N2};
align=’right’} –AutoSize

  1. FormatString yazılan String değerin formatını belirler. N2 virgülden sonra iki basamak olacağını belirtir. (Daha önce select komutu ile bu işlemi {0:N2} ile sağlamıştık)
  2. Align tabloyu verilen Left,Right ve Center değerlerine göre hizalar.
  3. Width tablodaki kolonların maksimum genişliklerini belirler.

 


Resim-2

Sorted and Grouped Tables

Format-Table komutunda –GroupBy isimli oldukça faydalı bir parametre bulunur. Bu parametre kullanılarak objeler istenilen parametrelere göre tablo içerisinde listelenebilir.

Örneğin servisler durumlarına göre gruplanmak istenirse komutu aşağıdaki gibi çalıştırmak gerekir.


Resim-3

Tabi burada durumlar sıralı olmadığı için gruplama işlemini her seferinde tekrarlayabilir. Bunu önlemek için öncelikle Sort komutu ile Status Property’sine göre gruplama yapmak gerekir. Bu sebeple komut aşağıdaki gibi değiştirilmelidir.


Resim-4


Resim-5

-GroupBy parametresi Format-Wide Format-List komutları tarafından da desteklenmektedir.

Select ve Format komutları fonksiyonel olarak aynı işi yapıyor gibi görünebilir. Zaten çoğu davranışları da birbirine benzerdir. İkisi de calculated Property’leri desteklemektedir.

Ancak burada dikkat edilecek nokta şudur;

  • Select-Object komutu kullanılıp elde edilen objeler pipe edilip bir sonraki komuta aktarılıp, objeler üzerinde sort,export,enumerate ve benzeri komutlar çalıştırılabilir. Yani objeler üzerinde işlem yapılmaya devam edilecek ise select-object komutu kullanılır.
  • Format-Table komutu ise objeler ile işlem yapma son aşamaya geldiğinde, sadece objelerin listelenmesi istenildiğinde kullanılacak komuttur.

 

Redirecting Output

Format komutu çıktısı diğer komut çıktılarından daha özeldir. Bu sebeple sadece birkaç komut, format komutlarından gelen çıktıyı kabul edebilir.

Örneğin aşağıdaki komut yanlış yazılmış bir komuttur. Genelde bu yazım hatasına sıkça rastlanır. Burada dikkat edilecek durum ConvertTo-HTML komutu format komutunun çıktısını kabul etmez. Komut çalışır ancak kullanılabilir data sunmaz.

Get-Process | Format-Table –Property Name,Status –AutoSize | ConvertTo-HTML | Out-File C:\Services.html


Resim-6


Resim-7

Yukarıdaki çıktıda da göründüğü gibi format komutu convertTo- ya da Export- komutları ile Pipe edilemez. Bunların yerine format komutu ile kullanılabilecek, çıktıyı yönlendirme komutları aşağıdaki gibidir.

  • Out-Host : Çıktı PowerShell ekranında görüntülenir. Her Pipeline’da Default olan davranışı sergiler.
  • Out-File : Komut çıktısı bir dosyaya yönlendirilir.
  • Out-Printer : Komut çıktısı printer’a yönlendirilir.

 

Out-File ve Out-Printer ile yönlendirilen komutlar, PowerShell konsolundaki çıktının aynısı olacak şekilde yönlendirilir. Bu komutlar sadece çıktıyı ekranda olduğu biçimiyle alırlar.

Komut aşağıdaki gibi çalıştırıldığında, örnek çıktı aşağıdaki gibi olur.


Resim-8


Resim-9

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

Referanslar

www.mshowto.org

TAGs : PowerShell, PowerShell nedir, PowerShell komutlari, PowerShell ayarlari, PowerShell Formatting Output, PowerShell Formatting Output nasil yapılır,

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    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
İlginizi Çekebilir

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