PowerShell ile Calculated Properties

Birkaç post önce yazdığım GUI tabanlı ufak bir powershell scripti bulunuyordu.

Link to PowerShell script to check hardware for remote computers

Eğer bu scripti incelediyseniz uzak makine üzerindeki disk alanlarını listelediğimde bana kb cinsinden anlaşılması biraz zor olan değerler veriyordu.

Mesela şu anda üzerinde çalıştığım laptop için get-wmiobject komut satırı ile boş alan değerini çekmek istersem;

image

Peki buradaki FreeSpace değerini daha anlaşılabilir bir değer dönüştürebilirmiyiz? Örneğin GB cinsinden bir çıktı alabilsek? PowerShell ile oldukça kolay

Tek yapmamız gereken bir calculated property oluşturmak.Genel kullanımı;

[powershell]@{n=”<name of property>”;e={<the expression to calculate>}}[/powershell]

oluşturacağımız sutun için gerekli hesaplamayı yapalım.

[powershell]@{n=”FreeSpace”;e={$_.freespace / 1GB }}[/powershell]

Burada yaptığım aksiyon Freespace propertysini yeniden hesaplayarak freespace sutunu / 1GB şeklinde vermesini istiyorum.

Yeni komutum aşağıdaki gibi artık;

image

Gördüğümüz gibi değerler GB cinsinden geldiler.Birazdaha sadeleştirmek istersek .NET üzerindeki round metodunu kullanabilirsiniz.

[powershell]@{n=”GbFree”;e={[math]::round($_.freespace /1gb,1)}}[/powershell]

image

Son haliyle oldukça kullanışlı sanırım Smile

Leave a Reply

Your email address will not be published. Required fields are marked *

12 − = 4