Geek Okulu PowerShell'de Cmdlet'leri Kullanmayı Öğrenme
İpconfig kullandıysanız veya komut istemine ping attıysanız, bir PowerShell ninja olmaya yarı yoldasınız. Öyleyse gelin ve Geek Okulu'nun bu kurulumunda cmdlet'leri keşfederken bize katılın.
PowerShell'i tanıtan ilk makalemize göz attığınızdan ve tüm hafta boyunca dizimizin geri kalanı için bizi izlemeye devam ettiğinizden emin olun..
Bir Cmdlet'in Anatomisi
Serinin ilk bölümünde şöyle görünen bir cmdlet gördük:
Güncelleme-Yardım
PowerShell cmdlet'leri yukarıda görülebilen bir Fiil-İsim sözdizimine sahiptir. Unutulmaması gereken önemli şey, cmdlet birden fazla sonuç alabilse de, ismin her zaman tekil olduğu. PowerShell'deki yasal fiillerin listesini görmek için Get-Verb cmdlet'ini kullanabilirsiniz..
Yasal fiilleri bilmek ve tekil isim kuralını hatırlamak, cmdlet adlarını tahmin etmeye gerçekten yardımcı olur. Örneğin, istediğinizi varsayalım almak bir listesi Hizmetler ve durumları - bu doğru, Get-Service kadar kolay. Nasıl yapacağımızı düşünüyorsun almak koşu listesi süreçler - bu doğru, al-işlem hile yapacak.
Get-Process
Bu, herhangi bir teknolojiyle çalışmayı gerçekten kolaylaştırır. Örneğin, Exchange cmdlet'lerini yüklediyseniz, aşağıdakileri kullanarak sunucudaki posta kutularının listesini kolayca alabiliriz:
Get-Mailbox
Ancak, bir istisna var. Kenara değişim, diğer tüm teknoloji komutları bir önek gerektirir. Örneğin, şu anda Uzak Masaüstü aracılığıyla oturum açmış olan kullanıcıları almak istiyorsak aşağıdakileri yazarız:
Get-RDUserSession
Aşağıdaki ekran görüntüsünde görülebilir.
Not: Bu ekran görüntüsü, teknolojiye özel modüllerin çoğunu bulacağınız yer olan bir Server 2012 kutusunda çekilmiştir..
Bir süre önce, PowerShell Godfather Don Jones'un, Exchange'in bu ön ekin cmdlet'lere eklenmeden önce gönderildiğini açıkladığı bir makale okudum, bu yüzden bunları asla uygulayamadı ve asla.
Takma adlar
PowerShell'in bir diğer özelliği de aynı komutu çalıştırmak için birden fazla yol kullanma yeteneğidir - eğer öyleyseniz. Onlarla ilgili harika şey, komut isteminde kullandığınız birçok komutu ve bazı Linux diğer adlarını içermeleridir. Örneğin, PowerShell'de aşağıdakileri kullanarak bir dizin listesi alabiliriz:
Get-ChildItem
Komut istemini kullanmak için kullanılır? Endişelenme, seni korudular.
Linux geçmişiniz var mı? Orada da seni korudular.
Birkaç yıl boyunca komut dosyası yazarken, tembel olma ve takma adları çok kullanmaya başlamaya eğilimlisiniz, ancak bu, kodumuzu okuyacak yeni gelenlere yardımcı olmaz. Bir takma adın kaputun altında çalıştığını görmek için aşağıdakileri kullanabilirsiniz:
Al-Takma Ad-ls
Öte yandan, oyununuzu hızlandırmanın zamanının geldiğini düşünüyorsanız, cmdlet'in tüm diğer adlarını almak için tanım parametresini kullanabilirsiniz:
Get-ChildItem -Açıklama Get-ChildItem
Başka bir arka plandan geliyorsanız, aşağıdakileri yaparak kendi takma adlarınızı ekleyebilirsiniz:
Yeni-Takma Ad-icanhazfilez -Değer Al-ChildItem
Açıkçası, "icanhazfilez" ifadesini yeni takma adınızla ve Get-ChildItem ile değiştirerek, başlık altında çalışmasını istediğiniz cmdlet'i kullanmanız gerekir..
Unutulmaması gereken bir şey, kabuğu kapattığınızda tanımladığınız tüm diğer adları kaybetmenizdir. Tanımlarını profil komut dosyasına ekleyerek bu sorunu çözebilirsin.
Kesme parametreleri
Windows PowerShell ayrıca belirsiz hale geldikleri noktaya kadar parametre isimlerini kısaltmanıza izin verir, yani PowerShell'in artık hangi parametreden bahsettiğinizi çözemediği noktaya kadar. Örneğin:
Get-Service -Ad 'Apple Mobil Cihaz' -BilgisayarAdı localhost
Aynıdır:
Get-Service -Na 'Apple Mobil Cihaz' -Com localhost
Eğer herhangi bir ihtimaliniz varsa, parametre adlarını çok belirsiz yaparsanız, bir hata ile karşılaşırsınız..
Eski Komutlar
Son olarak, bildiğiniz ve sevdiğiniz komutlar hala PowerShell'de çalışacak.
ping www.google.com
Sadece ping gibi eski uygulamaların bir dize çıktığını unutmayın ve bir PowerShell cmdlet'i kullanarak aynı şeyi yapmanın genellikle daha iyi bir yolu vardır..
Uzun bir metin dizisi oluşturmak yerine, artık Geek School'un yarın baskısına göz atacağımız bir nesneyle kalıyoruz.