Powershell'de bir cmdlet'in sonuçlarını kendine özgü başka bir pencerede tablo biçiminde görüntülemeye yarayan bir aracı var. En basit kullanım ile
Get-Process | Out-Gridview
Alias'larla kullanmayı istersek
ps | ogv
Birden fazla grid kullandıysam ve arka planda açık kaldıysa hangi tablonun hangi komutun çıktısı olduğunu karıştırmamak için başlık eklenebilir
Invoke-Command -Computername sunucu01 -ScriptBlock {Get-Service | Where-Object {$_.State -eq "Running"}} | Out-Gridview -Title "Sunucu01 - çalışan hizmetler"
icm -cn sunucu01 {gsv | ? Status -eq "Running" | ogv -t "Sunucu01 - çalışan hizmetler"
Grid nesnesi sütunlara göre sıralama ve filtreleme yapabilen yetenekli bir nesne. Burada gerekli işlemleri yapıp bir veya daha fazla satırı "seçip" çıktı dışarıya verilebilir.
Get-Process | Out-Gridview -Title "Süreçler" -PassThru
ps | ogv -t "Süreçler" -passthru
PassThru'ya çok benzeyen bir de OutputMode parametresi var. Tek farkı tekli/çoklu seçim yapmayı mümkün kılması.
Get-Process | Out-Gridview -Title "Süreçler" -OutputMode Multiple
ps | ogv -t "Süreçler" -o m
Bu özellikler farklı amaçlarla kullanılabilir.
Get-Process | Out-Gridview -Title "Süreçler" -PassThru | Export-Csv -Path "D:\surecler.csv"
ps | ogv -t "Süreçler" -p | epcsv D:\surecler.csv
Eski dosyaları silmek mesela.
Get-ChildItem -Path D:\dosyalar | Out-GridView -Title "Dosyalar" -OutputMode Multiple | Foreach-Object {Remove-Item $_}
gci | ogv -t "Dosyalar" -o m | % {ri $_}
Sanki
-PassThruile
-OutputMode Multipleaynı şey gibi.
Hiç yorum yok:
Yorum Gönder