PowerShell ile otomasyon: uzak oturum, test ve zamanlama
SSH üzerinden uzak oturum, paralel çalışma, Pester ile test, sınıflar ve gizli bilgi yönetimiyle birden çok sunucuda güvenilir otomasyon kurarsın.
Seviye 301 · 16 ders · 18 pratik lab
Dersler
Uzak çalışma
- SSH üzerinden PowerShell uzak oturumu
- Invoke-Command ile birçok sunucuda komut
- ForEach-Object -Parallel ve arka plan işleri
- Kısa görev: beş Linux sunucusunda disk ve servis kontrolü
Test ve kalite
- Pester ile birim testi
- Pester'da taklit ve entegrasyon testi
- PSScriptAnalyzer ile kod denetimi
- Kısa görev: modülüne testler ekle ve CI'da çalıştır
Tasarım
- Sınıflar ve sayımlar
- Yapılandırma verisi: psd1, JSON ve ortama göre ayarlar
- SecretManagement ile gizli bilgi
- REST API ile otomasyon: sayfalama, yeniden deneme, kimlik doğrulama
- Kısa görev: API'den gelen kullanıcı listesini yerel hesaplarla eşitle
Zamanlama ve işletme
- pwsh betiğini systemd zamanlayıcısıyla çalıştırmak
- Transcript ve betik günlüğüyle iz bırakmak
- Bitirme görevi: on sunucuda yapılandırma kaymasını bulup düzelten otomasyon
Pratik lablar
- SSH üzerinden uzak PowerShell oturumu aç: Hedef sunucuya SSH tabanlı uzak oturum aç ve sunucunun çalışma süresini cevap olarak gir.
- Beş sunucuda disk ve servis denetimi yap: Invoke-Command ile beş sunucudan disk doluluğunu ve bir servisin durumunu toplayıp tek tabloda birleştir.
- Paralel denetimi sınırla ve ulaşılamayanı raporla: ForEach-Object -Parallel ile denetimleri eşzamanlılık sınırıyla çalıştır, yanıt vermeyen sunucuları zaman aşımıyla ayrı listele.
- Fonksiyon için ilk Pester testini yaz: Disk eşiğini değerlendiren fonksiyon için üç durumu kapsayan Pester testi yaz ve geçtiğini göster.
- Uzak çağrıyı Mock ile taklit et: Invoke-Command çağıran fonksiyonu gerçek sunucuya gitmeden Mock ile test et ve çağrı sayısını doğrula.
- PSScriptAnalyzer bulgularını gider ve denetime bağla: Modüldeki çözümleyici uyarılarını gider ve testlerle çözümleyiciyi birlikte çalıştırıp başarısızlıkta duran betik yaz.
- Ortama göre ayar yükleyen yapı kur: Test ve canlı ortam ayarlarını ayrı veri dosyalarına taşı ve betiğin parametreyle doğru olanı yüklemesini sağla.
- Betikteki düz metin parolayı kasaya taşı: Betiğe gömülü API anahtarını SecretManagement kasasına taşı ve betiği anahtarı oradan okuyacak şekilde güncelle.
- Sunuculardaki yapılandırma kaymasını bul ve düzelt: Hedef sunucularda SSH ayar dosyasını ölçüt kopyayla karşılaştır, sapanları düzelt ve sunucu başına değişiklik raporu üret.
- API yanıtını türü belli nesnelere dönüştür: Lab API'sinden gelen sunucu listesini tarih ve sayı alanları doğru türde olan özel nesnelere çevir ve en eski kaydı gir.
- Sayfalı API'den tüm kayıtları yeniden denemeyle çek: Sayfalı ve ara sıra hata veren API'den tüm kullanıcıları yeniden deneme ve bekleme ile çeken fonksiyon yaz.
- API'deki kullanıcı listesini yerel hesaplarla eşitle: API'den gelen listeyi yerel hesaplarla karşılaştır, eksikleri oluştur, fazlaları kilitle ve yapılanları raporla.
- Durum değerlerini enum ile sabitle: Denetim sonuçlarındaki serbest yazılmış durum metinlerini Ok, Warning ve Critical değerli bir enum ile değiştir ve geçersiz değerin reddedildiğini göster.
- Sunucu kaydı için yöntemli bir sınıf yaz: Ad, rol ve son denetim zamanını tutan bir sınıf yaz; kurucusu boş adı reddetsin, denetimin kaç gün önce yapıldığını döndüren bir yöntemi olsun ve nesneleri CSV'den üret.
- Denetim sonuçlarını sınıf ve enum ile modelle: Dize kullanan durum alanlarını enum'a, sonuçları sınıfa çevir ve geçersiz durum atamasının reddedildiğini göster.
- pwsh betiğini systemd zamanlayıcısıyla çalıştır: Envanter betiğini her gece çalıştıran servis ve zamanlayıcı birimlerini yaz ve bir sonraki çalışma zamanını doğrula.
- Zamanlanmış betiğe iz kaydı ekle: Betiğe tarihli transcript ve hata durumunda sıfırdan farklı çıkış kodu ekle, eski kayıtları otuz günden sonra sil.
- Zamanlanmış betiğin sessizce durmasını yakala: Zamanlayıcıyla çalışan betiğe ikinci kopyayı engelleyen kilit ve son başarılı çalışma damgası ekle; birim başarısız olduğunda ya da damga bir günden eskiyse uyarı dosyası üreten denetimi kur ve hatayı bilerek tetikleyip sına.
Kurs hakkında
SSH üzerinden uzak oturum, paralel çalışma, Pester ile test, sınıflar ve gizli bilgi yönetimiyle birden çok sunucuda güvenilir otomasyon kurarsın.
Ne öğreneceksin
- Uzak çalışma
- Test ve kalite
- Tasarım
- Zamanlama ve işletme
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 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.