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.




