PowerShell betikleri: fonksiyonlar, modüller ve hata yönetimi
Gelişmiş fonksiyonlar, parametre doğrulama, modül yazımı ve sağlam hata yönetimiyle yeniden kullanılabilir PowerShell betikleri yazarsın.
Seviye 201 · 18 ders · 15 pratik lab
Dersler
Gelişmiş fonksiyonlar
- CmdletBinding ile gelişmiş fonksiyon
- Parametre doğrulama: Mandatory, ValidateSet, ValidateScript
- Boru hattından girdi almak: begin, process, end
- -WhatIf ve -Confirm desteği
- Yorum tabanlı yardım yazmak
- Kısa görev: boru hattından kullanıcı alıp rapor üreten fonksiyon
Hatalar ve günlük
- Durduran ve durdurmayan hatalar
- try, catch, finally ve hata kaydı
- Akışlar: Verbose, Warning, Information ve günlükleme
- Set-StrictMode ve güvenli varsayılanlar
- Kısa görev: yarıda kalırsa kaldığı yerden süren kopyalama betiği
Modüller
- Betik modülü yazmak: .psm1 ve dışa aktarım
- Modül bildirimi: .psd1 ve sürüm
- PowerShell Gallery'den modül kurmak ve güvenmek
- Kısa görev: ekip fonksiyonlarını tek bir modülde topla
Linux'ta PowerShell
- Linux'ta pwsh: yollar, büyük-küçük harf ve yerel komutlar
- Yerel komut çıktısını nesneye çevirmek
- Bitirme görevi: Linux sunucularının envanterini toplayan PowerShell modülü
Pratik lablar
- Fonksiyonu gelişmiş fonksiyona çevir: Basit fonksiyona CmdletBinding ve zorunlu parametre ekle, -Verbose ile ek bilgi verdiğini göster.
- Boru hattından kullanıcı alan rapor fonksiyonu yaz: Boru hattından gelen kullanıcı nesnelerini process bloğunda işleyip end bloğunda özet veren fonksiyon yaz.
- Silme fonksiyonuna -WhatIf ve -Confirm ekle: Eski yedekleri silen fonksiyona ShouldProcess desteği ekle ve -WhatIf ile hiçbir şeyin silinmediğini kanıtla.
- Parametre doğrulamasıyla hatalı girdiyi reddet: Ortam adı ve port parametrelerine ValidateSet ve ValidateRange ekle, geçersiz değerlerin reddedildiğini doğrula.
- Çıktıyı doğru akışlara ayır: Her şeyi Write-Host ile basan betiği Verbose, Warning ve Information akışlarını kullanacak ve uyarıları dosyaya yazacak şekilde düzenle.
- Linux sunucu envanteri toplayan modül yaz: Çekirdek sürümü, paket sayısı ve dinleyen portları nesne olarak döndüren fonksiyonları olan bir modül yaz.
- Yakalanmayan hatayı yakalanır hale getir: try/catch'e düşmeyen sonlandırıcı olmayan hatayı -ErrorAction Stop ile yakalat ve anlamlı mesaj yazdır.
- Kaldığı yerden devam eden kopyalama betiği yaz: Kesintiye uğrasa da tamamlanan dosyaları atlayıp kaldığı yerden süren ve finally ile durum dosyasını güncelleyen betik yaz.
- StrictMode ile gizli hataları ortaya çıkar: Set-StrictMode açıldığında görünen yazım hatalı değişken ve olmayan özellik hatalarını bul ve düzelt.
- Ekibin fonksiyonlarını tek modülde topla: Dağınık betik dosyalarındaki fonksiyonları bir .psm1 modülüne taşı ve yalnızca herkese açık olanları dışa aktar.
- Modüle bildirim dosyası ve sürüm ekle: Modül için sürüm, yazar ve dışa aktarılan fonksiyonları tanımlayan .psd1 dosyası oluştur ve Test-ModuleManifest'ten geçir.
- Yüklenmeyen modülün nedenini bul: İçe aktarılırken hata veren modüldeki yanlış yol, eksik dışa aktarım ve sürüm çakışması sorunlarını bul ve düzelt.
- Linux'ta bozulan yolları ve büyük-küçük harf hatasını düzelt: Ters eğik çizgili yollar ve harf duyarlılığı yüzünden Linux'ta çalışmayan betiği Join-Path kullanarak taşınabilir yap.
- Yerel komut çıktısını nesnelere çevir: df çıktısını bölüm, boyut ve doluluk özellikli nesnelere çevir ve yüzde seksenin üzerindekileri süz.
- Yerel komutun hatasını betikte yakala: Başarısız olan yerel komuttan sonra devam eden betiği çıkış kodunu denetleyip hata fırlatacak şekilde düzelt.
Kurs hakkında
Gelişmiş fonksiyonlar, parametre doğrulama, modül yazımı ve sağlam hata yönetimiyle yeniden kullanılabilir PowerShell betikleri yazarsın.
Ne öğreneceksin
- Gelişmiş fonksiyonlar
- Hatalar ve günlük
- Modüller
- Linux'ta PowerShell
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.