TOOL BUILDING WITH WINDOWS POWERSHELL - ADVANCED EĞİTİMİ

Betik değil, yeniden kullanılabilir araçlar üret

Gelişmiş fonksiyonlar, modül yapısı, Pester testleri ve yardım dokümanıyla profesyonel PowerShell araçları geliştirin.

Windows PowerShell ile tek kullanımlık betikleri profesyonel araçlara dönüştürmeyi öğreten ileri eğitim: gelişmiş fonksiyon tasarımı, parametre ve hata yönetimi, modül paketleme, Pester testi ve dağıtım.

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Tek kullanımlık betiklerden profesyonel, test edilmiş ve dağıtılabilir araçlara geçiş

Bu ileri eğitim, tek kullanımlık betikleri profesyonel, yeniden kullanılabilir araçlara dönüştürmeyi öğretir. Gelişmiş fonksiyon anatomisi (CmdletBinding, Begin/Process/End), parametre tasarımı ve doğrulama öznitelikleri, pipeline giriş desteği, yapılandırılmış çıktı için PSCustomObject, sağlam hata yönetimi (try/catch, ErrorAction, ShouldProcess), comment-based ve external MAML yardım yazımı, script modülü ve manifest oluşturma, Pester ile birim testi, PSScriptAnalyzer ile kod denetimi ve Publish-Module ile dağıtım konularını kapsar. 'Toolmaking' felsefesiyle giriş/işlem/çıktı araçlarının ayrıştırılması vurgulanır.

Süre ve Format

4 Gün. Her gün dört modül; her modül tasarım prensibi ve araç geliştirme lab'ıyla ilerler.

Seviye

İleri Seviye — Windows PowerShell ile yeniden kullanılabilir araç (tool) ve modül geliştirme: gelişmiş fonksiyonlar, parametre tasarımı, hata yönetimi, test ve paketleme.

Öğrenme Metodu

VS Code ortamında adım adım bir modül inşa edilerek, gelişmiş fonksiyonlar yazılıp Pester ile test edilerek öğretilir.

Neden Bu Eğitim?

🧰Araç Felsefesi

Tek seferlik betikler yerine giriş/işlem/çıktı olarak ayrışmış, yeniden kullanılabilir araçlar tasarlarsınız.

🧪Test Güvencesi

Pester testleriyle araçlarınızın değişikliklerden sonra da doğru çalıştığından emin olursunuz.

📦Dağıtılabilirlik

Manifestli modüller üretip ekibinize veya repoya yayınlayarak standart araç seti kurarsınız.

Anahtar Konular

powershell tool buildinggelişmiş fonksiyonpowershell modül geliştirmecmdletbindingpester testpsscriptanalyzernew-modulemanifestpublish-moduleshouldprocesscomment-based help
“İyi bir araç, onu yazanın yokluğunda da güvenle kullanılabilen araçtır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Betik Deneyimi

Fonksiyon, pipeline ve değişken kavramlarıyla betik yazabiliyor olmak gerekir.

2
Nesne Kavrayışı

PowerShell nesne modeli ve özellik/metot farkına aşinalık beklenir.

3
VS Code

VS Code ve PowerShell eklentisiyle çalışmaya uygun bir ortam önerilir.

4
Pester Kurulumu

Test modülü için Pester'in kurulu olacağı bir PowerShell ortamı faydalı olur.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, araç tasarım ilkelerini kavrar ve gelişmiş fonksiyonların temel yapısını kurar.
Modül 1
Araç Felsefesi
  • Tek kullanımlık betik ile yeniden kullanılabilir araç ayrımı
  • Tools vs controllers: işi yapan araç, akışı yöneten denetleyici
  • Giriş toplama, işleme ve çıktı üretme sorumluluklarını ayırma
  • Tek iş yapan küçük, birleştirilebilir araç tasarımı
  • Format kodunu araçtan ayrı tutma ilkesi
  • Araçların pipeline ile birleştirilebilir olması hedefi
Modül 2
Fonksiyon Anatomisi
  • [CmdletBinding()] ile gelişmiş fonksiyona dönüşüm
  • Common parameters: Verbose, Debug, ErrorAction kazanımı
  • Verb-Noun adlandırma ve Get-Verb ile onaylı fiil seçimi
  • Fonksiyonu betikten modüle taşımaya hazırlama
  • Write-Verbose ile çalışma zamanı bilgi akışı
  • [OutputType()] ile çıktı tipini belgeleme
Modül 3
Begin/Process/End
  • Begin bloğunda tek seferlik hazırlık işlemleri
  • Process bloğunda her pipeline nesnesini işleme
  • End bloğunda toparlama ve son çıktı
  • ValueFromPipeline ile tekil nesne akışı
  • ValueFromPipelineByPropertyName ile özellik eşleme
  • Çoklu girdi için akış dostu tasarım
Modül 4
Çıktı Tasarımı
  • PSCustomObject ile yapılandırılmış, tutarlı çıktı üretme
  • PSTypeName ekleyerek özel tip adı tanımlama
  • Ham veri döndürüp biçimlendirmeyi kullanıcıya bırakma
  • Write-Output ile akışa nesne gönderme
  • Tek nesne mi dizi mi döndürme kararı
  • Çıktının başka araçlara pipeline ile akabilmesini sağlama
Günün hedefiKatılımcı, esnek parametre arayüzleri tasarlar ve araçlarında sağlam hata yönetimi kurar.
Modül 1
Parametre Doğrulama
  • [Parameter(Mandatory)] ve isteğe bağlı parametreler
  • [ValidateSet] ile sınırlı değer kümesi
  • [ValidateRange] ve [ValidatePattern] ile girdi doğrulama
  • [ValidateNotNullOrEmpty] ile boş girdiyi engelleme
  • [ValidateScript] ile özel doğrulama mantığı
  • Varsayılan değer atama ve isteğe bağlı davranış
Modül 2
Parametre Setleri
  • ParameterSetName ile birbiriyle çakışan seçenekler
  • DefaultParameterSetName ile varsayılan davranış
  • $PSCmdlet.ParameterSetName ile aktif set tespiti
  • [Alias] ile parametre takma adları
  • Switch parametrelerle bayrak davranışı
  • Dinamik parametre (DynamicParam) ihtiyacını tanıma
Modül 3
Hata Yönetimi
  • Terminating ve non-terminating hata ayrımı
  • try/catch/finally ile yapısal hata yakalama
  • ErrorAction Stop ile cmdlet hatasını yakalanabilir yapma
  • Write-Error ile araç kullanıcısına anlamlı hata üretme
  • throw ile özel hata fırlatma
  • ErrorVariable ve $Error ile hata kayıtları
Modül 4
ShouldProcess
  • SupportsShouldProcess ile -WhatIf ve -Confirm desteği
  • $PSCmdlet.ShouldProcess ile değişiklik öncesi onay
  • ConfirmImpact ile onay eşiği belirleme
  • Yıkıcı işlemleri (silme, durdurma) güvence altına alma
  • ShouldContinue ile ek onay akışı
  • Force ile onayı atlayan davranış tasarımı
Günün hedefiKatılımcı, araçlarını bir modül altında toplar, manifest ve yardım dokümanı yazar.
Modül 1
Script Modülü
  • .psm1 dosyasında fonksiyonları toplama
  • Export-ModuleMember ile açık API yüzeyi belirleme
  • Private (yardımcı) ve public fonksiyon ayrımı
  • $PSModulePath ve modül otomatik yükleme
  • Import-Module ile yükleme ve -Force ile yeniden yükleme
  • Dot-sourcing ile fonksiyonları ayrı dosyalardan toplama
Modül 2
Manifest
  • New-ModuleManifest ile .psd1 oluşturma
  • ModuleVersion ve semantik sürümleme
  • RequiredModules ve bağımlılık tanımlama
  • FunctionsToExport ile dışa aktarılan komutlar
  • GUID, Author, Description meta verileri
  • PowerShellVersion ile uyumluluk belirtme
Modül 3
Yardım Yazımı
  • Comment-based help (.SYNOPSIS, .DESCRIPTION, .EXAMPLE)
  • .PARAMETER ile her parametreyi belgeleme
  • Get-Help ile yardımın doğru göründüğünü doğrulama
  • External MAML/XML yardım dosyası kavramı
  • PlatyPS ile Markdown'dan yardım üretme
  • Örnek (example) kalitesi ve kullanım senaryosu yazımı
Modül 4
Modül İç Yapısı
  • Public/Private klasör düzeni ve dosya organizasyonu
  • Modül kök betiğinde fonksiyonları dinamik yükleme
  • Modül düzeyi değişken ve yapılandırma saklama
  • OnRemove ile modül kaldırılırken temizlik
  • Format ve type (.ps1xml) dosyalarıyla görüntüleme
  • README ve changelog ile bakım dokümantasyonu
Günün hedefiKatılımcı, araçlarını Pester ile test eder, kod kalitesini denetler ve modülü yayınlar.
Modül 1
Pester Testleri
  • Describe/Context/It bloklarıyla test yapısı
  • Should operatörleriyle beklenti doğrulama
  • BeforeAll/BeforeEach ile test hazırlığı
  • Invoke-Pester ile testleri çalıştırma
  • Birim testi ile fonksiyon davranışını sabitleme
  • Test sonuçlarını NUnit XML olarak dışa aktarma
Modül 2
Mock ve Kapsam
  • Mock ile dış bağımlılıkları taklit etme
  • Should -Invoke ile çağrı doğrulama
  • Assert-MockCalled ile çağrı sayısı kontrolü
  • Code coverage ile test kapsamını ölçme
  • Dosya sistemi ve ağ bağımlılıklarını izole etme
  • Kenar durumları (edge case) için test tasarımı
Modül 3
Kod Kalitesi
  • PSScriptAnalyzer ile statik kod denetimi
  • Invoke-ScriptAnalyzer ile kural ihlallerini bulma
  • Yaygın uyarılar: onaylanmamış fiil, kullanılmayan değişken
  • Özel kural seti ve ayar dosyası (.psd1) tanımlama
  • Tutarlı kod stili ve adlandırma standartları
  • CI boru hattında analiz ve testi otomatikleştirme
Modül 4
Dağıtım
  • Publish-Module ile PSGallery veya özel repoya yayınlama
  • Register-PSRepository ile iç modül deposu kurma
  • Semantik sürümleme ve geriye uyumluluk yönetimi
  • Install-Module ve Update-Module ile tüketici deneyimi
  • NuGet paket yapısı ve API key yönetimi
  • Sürüm notları ve modül yaşam döngüsü planlama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Araç Tasarımı

Giriş/işlem/çıktı olarak ayrışmış yeniden kullanılabilir araçlar tasarlayabilirsiniz.

✅
Gelişmiş Fonksiyon

CmdletBinding ve Begin/Process/End yapısıyla cmdlet gibi fonksiyonlar yazabilirsiniz.

✅
Parametre Arayüzü

Doğrulama öznitelikleri ve parametre setleriyle esnek arayüzler kurabilirsiniz.

✅
Hata Yönetimi

ShouldProcess ve try/catch ile güvenli ve sağlam araçlar üretebilirsiniz.

✅
Modül Paketleme

Script modülü ve manifestle araçlarınızı tek pakette toplayabilirsiniz.

✅
Yardım Dokümanı

Comment-based ve external yardımla kullanıcı dostu belgeler yazabilirsiniz.

✅
Test Güvencesi

Pester ve mock ile araçlarınızı test edip kapsamı ölçebilirsiniz.

✅
Dağıtım

PSScriptAnalyzer denetimi sonrası modülleri repoya yayınlayabilirsiniz.

Kimler İçin Uygundur?

  • Betik yazabilen ancak bunları ekip genelinde kullanılabilir
  • test edilmiş
  • bakımı yapılabilir araçlara dönüştürmek isteyen sistem yöneticileri ve otomasyon mühendisleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Betik yazabilen ancak bunları ekip genelinde kullanılabilir, test edilmiş ve bakımı yapılabilir araçlara dönüştürmek isteyen yöneticiler ve otomasyon mühendisleri için uygundur.
Toolmaking felsefesi nedir?
Araçların tek iş yapan, giriş/işlem/çıktı olarak ayrışmış ve pipeline ile birleştirilebilir biçimde tasarlanmasıdır; biçimlendirme koddan ayrılır.
Pester neden önemli?
Pester birim testleri, araçlarınızın değişikliklerden sonra da beklenen davranışı sürdürdüğünü doğrulayarak güvenli bakım sağlar.
Modülü nasıl dağıtırım?
New-ModuleManifest ile manifest oluşturup Publish-Module ile PSGallery veya özel bir PSRepository üzerinden yayınlarsınız.
Windows PowerShell 5.1 yeterli mi?
Evet, araç geliştirme kavramları 5.1'de çalışır; PowerShell 7 ile ek dil olanakları da örneklerde değerlendirilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Tool Building with Windows PowerShell - Advanced Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

PowerShell ve Betik YazımıPowerShell ile Ağ Yönetimi ve Otomasyonu Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

PowerShell ile Ağ Yönetimi ve Otomasyonu Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

NetTCPIP, NetAdapter, DNS/DHCP cmdlet'leri, firewall kuralları, Test-NetConnection tanılama ve toplu ağ yapılandırmayı işleyen 3 günlük uygulamalı eğitim.

Detayları Gör →
PowerShell ve Betik YazımıAdministration and Automation with Windows PowerShell Intermediate Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Administration and Automation with Windows PowerShell Intermediate Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

İleri pipeline, fonksiyon yazımı, hata yönetimi, CIM/WMI, Remoting ve dosya/kayıt işlemlerini uygulamalı işleyen 3 günlük orta seviye PowerShell eğitimi.

Detayları Gör →
PowerShell ve Betik YazımıAutomate Administration with PowerShell (AZ-040) Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Automate Administration with PowerShell (AZ-040) Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

AZ-040 kapsamında PowerShell temelleri, Remoting, Active Directory, Azure Az modülü ve Microsoft Graph yönetimini işleyen 4 günlük uygulamalı eğitim.

Detayları Gör →
PowerShell ve Betik YazımıAutomating Administration with PowerShell Training (AZ-040) Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Automating Administration with PowerShell Training (AZ-040) Eğitimi

5 günOrtaOnline / Yüz Yüze / Hibrit

AZ-040 müfredatıyla PowerShell cmdlet'leri, nesne pipeline'ı, CIM/WMI, betik yazımı, remoting ve Azure/Microsoft 365 otomasyonunu uygulamalı öğrenin.

Detayları Gör →
PowerShell ve Betik YazımıAutomating Windows Server with PowerShell Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Automating Windows Server with PowerShell Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Windows Server rollerini, Active Directory, DNS, DHCP, depolama ve IIS'i PowerShell ile yönetmeyi ve DSC ile durum tabanlı yapılandırmayı uygulamalı öğrenin.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn