PowerShell'i Kullanmaya Başlamak için 5 Cmdlet
PowerShell hızla BT Uzmanlarının yanı sıra tercih edilen bir betik dili ve Güçlü Kullanıcıların CLI'si haline geliyor. Başlamanız için birkaç komutu öğrenmeye değer, bu nedenle bugün öğrenmeniz için 5 kullanışlı cmdlet'imiz var..
Get-Command
Get-Command, PowerShell'in tamamındaki en kullanışlı cmdletlerden biridir, çünkü belirli cmdlet'leri aramanıza izin vererek PowerShell ile başa çıkmanıza yardımcı olacaktır. Get-Command'ı kendi başına kullanmak kuşkusuz, PowerShell’in sahip olduğu her komutu tükürecek.
Ancak, PowerShell'in çıktıladığı nesnelerin hem Name hem de ModuleName özelliğine sahip olduğunu görüyoruz. Bu bilgiyi kullanarak, belirli terimleri içeren cmdlet'leri arayarak aramamızı ince ince ayarlayabiliriz. Örneğin, “IP” kelimesini içeren tüm cmdlet'leri bulmak isteseydim, şunu yapabilirdim:
Komut Al - İsim * IP *
Gördüğünüz gibi hala birkaç sonuç alıyoruz, bir sonraki seçeneğimiz belirli bir modül içinde arama yapmak. Bizim durumumuzda NetTCPIP modülünü seçeceğim.
Get-Command -Module NetTCPIP -Adı * IP *
Yardım almak
Get-Command'ı kullanmak istediğiniz cmdlet'i bulduktan sonra, sözdizimini ve bu belirli cmdlet'i nasıl kullanabileceğinizi bilmek isteyeceksiniz. Get-Help'in devreye girdiği yer burasıdır, Windows'ta komut satırını kullandıysanız muhtemelen şöyle bir şey yaptınız:
ipconfig /?
Bu PowerShell'de çalışmaz, çünkü PowerShell'de bir komutu parametrelerinden ayırmak için bir alan kullanılır. Bunun yerine Get-Help'i kullanırız ve parametre olarak Get-Help'e bir cmdlet adı iletiriz..
Get-Help Get-Process
Get-Üye
Get-Member, bir cmdlet'lerin döndürdüğü nesneler hakkında bilgi edinmemizi sağlar. Get-üyesi ile yakalamak, PowerShell'in boru hattı özelliğine dayanmasıdır, bunu göstermek için Get-Process cmdlet'ini kullanacağız..
Gördüğünüz gibi PowerShell'in çıktısı bize her bir sütunun üstünde görebileceğiniz bazı özellikleri gösterir. İlk sorun, bunlar çoğu zaman aradığınız özellikler olsa da, hala daha fazlası var. İkinci sorun, nesnede çağırabildiğimiz hiçbir yöntemi göstermemesidir. Yöntemleri ve özellikleri görmek için çıktılarımızı Get-Member'e yönlendirebiliriz, şöyle:
Get-Process | Get-Üye
Şu anda sizin için hiçbir şey ifade etmese de, Get-Member'ı kullanmanızın er ya da geç olması ve onu ne kadar çabuk kullanmayı daha iyi öğrenmeniz gerekir. Örnek olarak, çıktıdaki bilgileri kullanarak şöyle bir şey yapabiliriz:
Başlat-İşlem notepad.exe
$ NotepadProc = Get-Process -Adı not defteri
$ NotepadProc.WaitForExit ()
Başlat-İşlem calc.exe
Bu betiği notepad'i başlatacak, daha sonra $ GetepadProc değişkenine “Get-Process -Name notepad” çıktısını atar, sonra $ NotepadProc üzerinde WaitForExit yöntemini çağırırız; o zaman hesap makinesi başlayacak.
$ _ (Mevcut Boru Hattı Nesnesi)
Tam olarak bir cmdlet olmasa da, PowerShell'de en çok kullanılan özel değişkenlerden biridir. $ _ İçin resmi adı “geçerli boru hattı nesnesi” dir. Script bloklarında, filtrelerde, fonksiyonların işlem cümlesi, where-object, foreach-object ve sviçlerde kullanılır. Ancak bizi bir sonraki ve son cmdlet'imize götüren bir örnekle açıklamak daha kolaydır, Where-Object.
Nerede-Nesne
Where-Object tam olarak neye benzediğini yapar, belirli bir kriteri karşılayıp karşılamadığına bağlı olarak bir nesneyi seçer. Bu, $ _ ve Get-Member kullanarak gördüğümüz özellikleri bir araya getirecektir. Bunu göstermek için Get-Process'in çıktısını Where-Object cmdlet'ine sokacağız..
Get-Process | Where-Object $ _. Name -eq “iexplore”
Peki burada neler oluyor soruyorsun? Yaptığımız ilk şey, bilgisayarımızdaki işlemlerin bir listesini almak ve çıktıyı (| karakterini kullanarak) bir komut dosyası bloğunu parametre olarak alan Where-Object cmdlet'imize geçirmek. Komut dosyası bloğu (küme parantezleri tarafından tanımlanır) Where-Object cmdlet'lerine yalnızca ad parametrelerinin “iexplore” 'ye eşit olduğu nesneleri seçmesini söyler ve bu nedenle yalnızca çalışan IE örneklerinin bir listesini alırız. Hepsi bu kadar, eğlenin!