WINDOWS POWERSHELL SCRIPTING VE TOOLMAKING EĞİTİMİ

PowerShell'de kendi profesyonel araçlarınızı yazın

Gelişmiş fonksiyonlar, pipeline girdisi, modüller, hata yönetimi ve Pester ile üretim kalitesinde PowerShell araçları geliştirin.

İleri PowerShell araç geliştirme eğitimi; CmdletBinding ile gelişmiş fonksiyonlar, parametre doğrulama, pipeline girdisi, modül ve manifest, hata yönetimi, remoting ve Pester testlerini uygulamalı öğretir.

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

Eğitim Hakkında

Gelişmiş fonksiyonlar, modüller, nesne çıktısı ve araç tasarımı

Bu ileri seviye eğitim, tek seferlik betiklerden paylaşılabilir, üretim kalitesinde PowerShell araçlarına geçişi öğretir. CmdletBinding ile gelişmiş fonksiyon yazımı, param bloğu, parametre nitelikleri (Mandatory, ValidateSet, ValidatePattern), boru hattı girdisi (ValueFromPipeline, ValueFromPipelineByPropertyName) ve begin/process/end bloklarının mantığı işlenir. Özel nesne (PSCustomObject) üretimi, yorum tabanlı yardım (comment-based help), kapsam (scope), modül ve modül manifesti (.psd1) oluşturma, dışa aktarılan üyelerin denetimi gösterilir. try/catch ile hata yakalama, ErrorAction ve -ErrorVariable, Write-Verbose/Write-Debug akışları, Set-PSBreakpoint ile hata ayıklama, güvenli parola için SecureString ve PSCredential ele alınır. PowerShell Remoting (Invoke-Command, oturumlar), biçimlendirme dosyaları ve Pester ile birim testi işlenir. Katılımcı eğitim sonunda belgelendirilmiş, test edilmiş ve dağıtılabilir bir PowerShell modülü üretebilir.

Süre ve Format

4 Gün. Her gün dört modül; her modülde kavram anlatımının ardından PowerShell konsolunda ve VS Code'da canlı araç geliştirme yapılır.

Seviye

İleri Seviye — PowerShell'de gelişmiş fonksiyonlar, parametre doğrulama, boru hattı, modül ve manifest, hata yönetimi, Pester testleri ve uzak yönetimle yeniden kullanılabilir araç geliştirme.

Öğrenme Metodu

Her gün, kaba bir komut dizisini adım adım parametreli, boru hattı destekli ve test edilmiş bir araca dönüştürerek uygulamalı ilerlenir.

Neden Bu Eğitim?

🔧Araç Ustalığı

Tek kullanımlık betikler yerine ekibinizin paylaşıp güvendiği araçlar üretirsiniz.

🧩Nesne Odaklı

Metin yerine nesne döndürerek araçlarınızı boru hattında zincirlenebilir kılarsınız.

✔️Test Edilebilirlik

Pester ile araçlarınızı test ederek güncellemelerde güvenle değişiklik yaparsınız.

Anahtar Konular

powershell eğitimipowershell toolmakingadvanced functionscmdletbindingpowershell modülpester testpowershell remotingpscustomobjectpowershell scriptingparametre doğrulamapowershell 7
“İyi bir araç bir kere yazılır, yüzlerce kez güvenle çalışır; işte asıl otomasyon budur.”

Ön Koşullar

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

1
PowerShell Temeli

Cmdlet, boru hattı ve değişken kullanımına dair çalışma bilgisi beklenir.

2
Betik Deneyimi

Basit .ps1 betikleri yazıp çalıştırmış olmak faydalıdır.

3
Ortam

PowerShell 7 veya Windows PowerShell 5.1 ile VS Code kurulu bir makine gerekir.

4
Yönetim Kavramı

Servis, süreç ve dosya gibi yönetilen nesnelerin temel bilgisi yararlıdır.

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ı, CmdletBinding ile doğrulanmış parametreli ve nesne döndüren fonksiyonlar yazar.
Modül 1
Fonksiyon Yapısı
  • Basit fonksiyondan gelişmiş fonksiyona geçişin mantığı
  • [CmdletBinding()] ile ortak parametrelerin (common params) kazanılması
  • param() bloğunun konumu ve tür bildirimleri
  • begin, process ve end bloklarının çalışma sırası
  • Fiil-İsim (Verb-Noun) adlandırma ve Get-Verb listesi
  • $PSCmdlet ile fonksiyon bağlamına erişim
Modül 2
Parametre Nitelikleri
  • Mandatory ile zorunlu parametre ve istem davranışı
  • ValidateSet ile sabit değer kümesi kısıtı
  • ValidatePattern ve ValidateRange ile giriş doğrulama
  • Parametre takma adları (Alias) tanımlama
  • Varsayılan değer ve [switch] tipi parametreler
  • Parametre kümeleri (ParameterSetName) ile seçenek ayrımı
Modül 3
Nesne Çıktısı
  • Write-Output yerine nesne döndürmenin önemi
  • [PSCustomObject] ile yapılandırılmış sonuç üretimi
  • Özellik adlarının boru hattı uyumu için seçimi
  • Select-Object ve hesaplanan özellik (calculated property)
  • Tek nesne vs. koleksiyon döndürme kararları
  • Formatlamayı veriden ayırma (format ≠ data) ilkesi
Modül 4
Yardım ve Belgeleme
  • Yorum tabanlı yardım (.SYNOPSIS, .DESCRIPTION) bloğu
  • .PARAMETER ve .EXAMPLE ile kullanım örneği
  • Get-Help ile üretilen yardımın görüntülenmesi
  • Yorumların fonksiyon içindeki doğru yerleşimi
  • about_ konuları ve dış bağlantı (.LINK) tanımı
  • Yardımın kullanıcı deneyimine katkısının değerlendirilmesi
Günün hedefiKatılımcı, boru hattından girdi alan fonksiyonları bir modülde paketler ve manifest üretir.
Modül 1
Pipeline Girdisi
  • ValueFromPipeline ile boru hattından tek nesne alma
  • ValueFromPipelineByPropertyName ile özellik eşleme
  • process bloğunda gelen her nesnenin işlenmesi
  • Boru hattı ile parametre bağlamanın (binding) çözümü
  • Trace-Command ile binding sürecinin izlenmesi
  • Boru hattı dostu araçların zincirlenmesi
Modül 2
Kapsam ve Durum
  • Global, script ve local kapsam (scope) hiyerarşisi
  • $script: ve $global: önekleriyle erişim
  • Fonksiyon içi değişkenlerin dışarı sızmaması
  • Dot-sourcing ile betiğin mevcut kapsama yüklenmesi
  • $env: sürücüsü ve ortam değişkenleri
  • Kapsam kaynaklı hataların teşhisi
Modül 3
Modül Oluşturma
  • .psm1 betik modülü dosyasının yapısı
  • $env:PSModulePath ve modül klasör yerleşimi
  • Import-Module ve otomatik modül keşfi
  • Export-ModuleMember ile dışa aktarılan üyeler
  • Yardımcı (private) fonksiyonların gizlenmesi
  • Get-Module ile yüklü modüllerin incelenmesi
Modül 4
Modül Manifesti
  • New-ModuleManifest ile .psd1 oluşturma
  • ModuleVersion ve sürüm yönetimi
  • RootModule, FunctionsToExport alanlarının ayarı
  • RequiredModules ile bağımlılık bildirimi
  • PowerShellVersion uyumluluk sınırları
  • PrivateData ile PSGallery etiket ve lisans bilgisi
Günün hedefiKatılımcı, dayanıklı hata yönetimi ekler ve araçlarını adım adım hata ayıklar.
Modül 1
Hata Yakalama
  • Terminating ve non-terminating hataların ayrımı
  • try/catch/finally ile hata yakalama yapısı
  • ErrorAction Stop ile yakalanabilir hataya çevirme
  • $Error otomatik değişkeni ve hata nesnesi inceleme
  • throw ile özel hata üretimi
  • ErrorVariable ile hataların ayrı toplanması
Modül 2
Çıktı Akışları
  • Success, error, warning, verbose, debug akışları
  • Write-Verbose ve -Verbose anahtarı ile ayrıntı
  • Write-Debug ile adım adım geliştirme bilgisi
  • Write-Warning ile kullanıcıya uyarı iletme
  • Write-Information ve akışların yönlendirilmesi (6>&1)
  • Write-Host kullanımının sakıncaları
Modül 3
Güvenli Girdi
  • Get-Credential ile PSCredential nesnesi alma
  • SecureString ile parolanın bellekte korunması
  • Kimlik bilgisinin uzak komutlara aktarılması
  • Export-Clixml ile DPAPI korumalı saklama
  • ShouldProcess ile -WhatIf ve -Confirm desteği
  • Yıkıcı işlemlerde onay mekanizmasının eklenmesi
Modül 4
Hata Ayıklama
  • Set-PSBreakpoint ile satır/değişken kesme noktası
  • VS Code'da adım adım (step over/into) ayıklama
  • $PSDefaultParameterValues ile debug kolaylığı
  • Get-PSCallStack ile çağrı yığınının incelenmesi
  • Strict mode (Set-StrictMode) ile erken hata tespiti
  • Hatalı boru hattının Trace ile çözümlenmesi
Günün hedefiKatılımcı, araçlarını uzaktan çalıştırır, test eder ve paylaşıma hazırlar.
Modül 1
PowerShell Remoting
  • Enable-PSRemoting ve WinRM dinleyici yapılandırması
  • Invoke-Command ile çok sunucuda komut çalıştırma
  • New-PSSession ile kalıcı oturum yönetimi
  • Enter-PSSession ile etkileşimli uzak oturum
  • Argüman ve değişken aktarımı (-ArgumentList, using:)
  • Remoting hata ve kimlik doğrulama sorun giderme
Modül 2
Biçimlendirme
  • Varsayılan görüntüyü .format.ps1xml ile özelleştirme
  • Table ve list görünümlerinin tanımlanması
  • Update-FormatData ile biçim dosyasının yüklenmesi
  • Varsayılan görüntü özelliklerinin seçimi
  • Tür adı (PSTypeName) atayarak biçim eşleme
  • Veri ve sunumun ayrı tutulmasının korunması
Modül 3
Pester ile Test
  • Describe, Context ve It blok yapısı
  • Should -Be ve -Throw ile beklenti doğrulama
  • Mock ile dış bağımlılıkların taklit edilmesi
  • Invoke-Pester ile test paketinin çalıştırılması
  • Kod kapsamı (code coverage) raporu
  • Testlerin CI/CD hattına entegrasyonu
Modül 4
Paketleme ve Yayınlama
  • Modülün klasör yapısının yayına hazırlanması
  • Publish-Module ile PowerShell Gallery'ye gönderim
  • Semantik sürümleme ve değişiklik günlüğü
  • NuGet API anahtarı ile kimlik doğrulama
  • Install-Module ile dağıtılan modülün test kurulumu
  • İç depo (internal repository) ile kurumsal paylaşım

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Gelişmiş Fonksiyon

CmdletBinding ve doğrulanmış parametrelerle profesyonel fonksiyonlar yazarsınız.

✅
Nesne Çıktısı

PSCustomObject ile boru hattında zincirlenebilir araçlar üretirsiniz.

✅
Pipeline Girdisi

ValueFromPipeline ile boru hattından veri alan araçlar tasarlarsınız.

✅
Modül Paketleme

.psm1 ve manifest ile araçlarınızı yeniden kullanılabilir modüle dönüştürürsünüz.

✅
Hata Yönetimi

try/catch ve ErrorAction ile dayanıklı, öngörülebilir araçlar yazarsınız.

✅
Hata Ayıklama

Kesme noktası ve akışlarla araçlarınızı adım adım ayıklarsınız.

✅
Uzak Yönetim

Invoke-Command ve oturumlarla araçları çok sunucuda çalıştırırsınız.

✅
Test ve Yayın

Pester ile test eder ve modülünüzü galeriye/iç depoya yayınlarsınız.

Kimler İçin Uygundur?

  • PowerShell'de komut çalıştırmanın ötesine geçip yeniden kullanılabilir araç ve modül geliştirmek isteyen sistem yöneticileri
  • DevOps mühendisleri
  • otomasyon uzmanları için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
PowerShell'de komut çalıştırmanın ötesine geçip yeniden kullanılabilir araç ve modül geliştirmek isteyen sistem yöneticileri, DevOps mühendisleri ve otomasyon uzmanları için uygundur.
Hangi PowerShell sürümü kullanılıyor?
Örnekler çoğunlukla sürümden bağımsızdır; PowerShell 7 önerilir, Windows PowerShell 5.1 ile de uyumludur.
Önceden betik yazmış olmak gerekir mi?
Cmdlet, boru hattı ve değişken bilgisi beklenir; basit .ps1 betikleri yazmış olmak faydalıdır.
Pester testi deneyimi şart mı?
Hayır; Pester sıfırdan ele alınır ve araçlarınız için temel birim testleri birlikte yazılır.
Eğitim sonunda sertifika veriliyor mu?
Katılım ve değerlendirme sonrası Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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. Windows PowerShell Scripting ve Toolmaking 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

Linux ve UnixLinux Yönetimi Temelleri Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Linux Yönetimi Temelleri Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Linux yönetimine giriş: kurulum ve ilk yapılandırma, kullanıcı ve izin temelleri, apt/dnf paketler, systemd servisleri, ağ ayarı ve basit sorun giderme. DVA eği

Detayları Gör →
Linux ve UnixLinux'e Giriş Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Linux'e Giriş Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Linux'e giriş: Linux tarihi ve açık kaynak felsefesi, dağıtım ekosistemi, masaüstü kullanımı, terminale ilk adım, dosya sistemi ve yazılım kurulumu. DVA eğitimi

Detayları Gör →
Linux ve UnixLinux/UNIX Shell Programming Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Linux/UNIX Shell Programming Eğitimi

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

Bash ve POSIX sh ile değişken genişletme, döngüler, fonksiyonlar, sed/awk ve güvenli otomasyon betikleri yazmayı uygulamalı öğrenin.

Detayları Gör →
Linux ve UnixLinux/UNIX System Programming Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Linux/UNIX System Programming Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

C ile POSIX sistem çağrıları, fork/exec süreç yönetimi, sinyaller, IPC, pthread eşzamanlılığı ve soket programlamayı ileri düzeyde öğrenin.

Detayları Gör →
Linux ve UnixMastering Bash Scripts Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Mastering Bash Scripts Eğitimi

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

İleri Bash: parametre genişletme, diziler, trap, coproc, performans, güvenlik ve bats testleriyle üretim kalitesinde CLI araçları yazmayı öğrenin.

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