PowerShell Cmdlet Nedir?
PowerShell Cmdlet Nedir? Cmdlet Nasıl Kullanılır? PowerShell Cmdlet Örnekleri, PowerShell Komut Listesi, Yararlı PowerShell Komutları, PowerShell Script Örnekleri

PowerShell Cmdlet Nedir?
PowerShell Cmdlet (Command Let), PowerShell ile belirli görevleri gerçekleştirmek için çeşitli lokal işlevleri uygulayan özel komutlardır. Bu komutlar sadece Windows PowerShell ortamında kullanılabilir ve herhangi bir otomasyon script dosyası yazarken oldukça kullanışlıdırlar.
Bu makalede bazı yararlı PowerShell komutları, bir PowerShell komut listesi üzerinden, PowerShell script örnekleri ile anlatılacaktır.
PowerShell Cmdlet
PowerShell Cmdlets çalıştırıldığında gereken eylemleri gerçekleştirir ve bir Microsoft .NET framework nesnesini ardışık düzende bir sonraki komuta döndürebilir. Cmdlets nesneleri girdi olarak alabilir ve sonuçlarını yine nesne olarak çıktılayabilir. Bu da onları bir PowerShell Pipeline kullanımında alıcı olarak kullanılmaya uygun hale getirir.
PowerShell Cmdlet Örnekleri
Get-Unique
Get-Unique cmdlet, sıralı bir listeseden benzersiz elemanları getiren bir cmdlet’tir.
Örnek 1:
PS /home/ahmet> 1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | Sort-Object | Get-Unique 1 3 4 5 12 23 4643 PS /home/ahmet>
Örnek 2:
PS /home/ahmet> $isimler=@("ahmet","attila","mete","süleyman","fatih","ahmet","attila") PS /home/ahmet> $isimler | Sort-Object | Get-Unique ahmet attila fatih mete süleyman PS /home/ahmet>
Sort-Object
Sort-Object, nesneleri özelliklerine göre sıralamak için kullanılır.
Örnek:
PS /home/ahmet> $isimler=@("ahmet","attila","mete","süleyman","fatih") PS /home/ahmet> $isimler | Sort-Object ahmet attila fatih mete süleyman PS /home/ahmet>
Sort
Sıralama, herhangi bir programlama dilinin en önemli beklentilerinden biridir. Çoğu zaman belli kayıtlara sahip olunabilir ve belirli bir sırada veriler görülmek istenecektir. Örneğin; bazı kullanıcı verileri var, ancak bu veriyi alfabetik sırada istiyoruz. İşte ancak bu şekilde benzersiz sonuçlar elde etmek için get-unique kullanılabilir.
Örnek:
PS /home/ahmet> $kullanicilar=@("ahmet","attila","mete","süleyman","fatih","ahmet","attila") PS /home/ahmet> $kullanicilar | sort | Get-Unique ahmet attila fatih mete süleyman PS /home/ahmet>
Measure-Object
Bir dosya olduğunu ve dosyadaki satır, kelime ve karakter sayısının bilinmesi gerektiğini varsayalım. Bu tür durumlarda Measure-Object cmdlet kullanılabilir. Measure-Object cmdlet, verilen verinin min, max, boyut, sayı, satır, vb. özelliklerini almak için kullanılabilir.
Örnek:
Bilgisayarınızda “web.txt” isimli bir dosya olduğunu varsayalım. Bu dosyanın birinci satırında “aktifdizin” ve ikinci satırında “servisi” yazsın:
PS /home/ahmet> get-content /home/ahmet/web.txt | Measure-Object -Line -Character -Word Lines Words Characters Property ----- ----- ---------- -------- 2 2 17 PS /home/ahmet>
PS /home/ahmet> get-content /home/ahmet/web.txt | Measure-Object -Word | Select-Object -Expand Words 2 PS /home/ahmet>
Compare-Object
Birbirine benzer iki dosyayı karşılaştırmaya ve farklarını bulmaya yarar.
Örnek:
PS /home/ahmet> ls dosya1.txt dosya2.txt PS /home/ahmet> Get-Content ./dosya1.txt Merhaba Arkadaşlar PowerShell Dersleri Nasıl Gidiyor? Hepinize Başarılar! PS /home/ahmet> Get-Content ./dosya2.txt Merhaba Arkadaşlar PS /home/ahmet>
Yukarıda görüleceği üzere, “Merhaba Arkadaşlar” satırı harici kalan veri, iki dosya arasındaki farktır.
PS /home/ahmet> Compare-Object -ReferenceObject $(Get-Content ./dosya1.txt) -DifferenceObject $(Get-Content ./dosya2.txt) InputObject SideIndicator ----------- ------------- PowerShell Dersleri Nasıl Gidiyor? <= Hepinize Başarılar! <= PS /home/ahmet>
Read-Host
Bu Cmdlet komutu, girilen değerin okumamızı sağlar.
Örnek:
PS /home/ahmet> $sehir = Read-Host "Nerelisiniz?" Nerelisiniz?: Ankara PS /home/ahmet> $sehir Ankara PS /home/ahmet>
Start-Sleep
Oturumu birkaç saniyeliğine askıya alınması istenildiğinde, “Start-Sleep” kullanılabilir.
PS /home/ahmet> Get-Date Friday, January 31, 2020 5:58:27 PM PS /home/ahmet> Start-Sleep 15 PS /home/ahmet> Get-Date Friday, January 31, 2020 5:58:45 PM PS /home/ahmet>
Invoke-History
Çalışma sırasında geçmiş aktivitesini yani girilen komutların görülmek istendiğini varsayalım.
Örnek:
PS /home/ahmet> Invoke-History Compare-Object -ReferenceObject $(Get-Content ./dosya1.txt) -DifferenceObject $(Get-Content ./dosya2.txt) InputObject SideIndicator ----------- ------------- PowerShell Dersleri Nasıl Gidiyor? <= Hepinize Başarılar! <= PS /home/ahmet>
Get-History
Get-History cmdlet tüm çalıştırılmış komutların geçmişini listeler.

ForEach-Object
Bu çok sık kullanılan bir komuttur. Bazı öğrenci numaralarının olduğunu ve her öğrencinin numarasına 10 eklemek istendiğini varsayalım.
PS /home/ahmet> $numara = 1000,1002,1004,1005 PS /home/ahmet> $numara | ForEach-Object -Process {$_+10} 1010 1012 1014 1015 PS /home/ahmet>
PowerShell Cmdlet
Bu makalede bazı yararlı PowerShell komutları, bir PowerShell komut listesi üzerinden PowerShell script örnekleri ile anlatılmaya çalışıldı. Bu komutlar bir otomasyon script dosyası yazarken çok kullanışlı olabilir veya bu komutların yardımıyla her zaman veri ve durum üzerinde manipülasyon yapılabilir.
PowerShell Cmdlet Nedir?
Vakit ayırdığınız için teşekkür ederiz. Cmdlet ile ilgili daha fazla bilgi için Microsoft sitesi ziyaret edilebilir. Soru ve önerilerinizi aşağıdaki formu kullanarak bize iletebilirsiniz.