POWERSHELL ÜST DÜZEY SINIFI EĞİTİMİ

PowerShell'i uzman gibi derinlemesine kavra

Class, runspace, DSC, gelişmiş fonksiyonlar ve performans optimizasyonuyla PowerShell'de uzmanlık seviyesine çıkın.

PowerShell dilinin ileri yönlerini kapsayan uzman eğitim: class ve kalıtım, gelişmiş fonksiyon mühendisliği, runspace ile paralellik, DSC yapılandırma, AST analizi ve performans optimizasyonu.

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

Eğitim Hakkında

Dilin derin yapıları, nesne modeli, paralel işleme ve kurumsal ölçekli betik mühendisliği

Bu üst düzey eğitim, PowerShell dilini ileri düzeyde kullanmayı hedefler. PowerShell class (sınıf) tanımı, kalıtım ve enum; gelişmiş fonksiyonlar, CmdletBinding, parametre setleri ve pipeline işleme (Begin/Process/End); hata yönetimi, try/catch/finally, terminating/non-terminating ayrımı ve ErrorAction; runspace, RunspacePool ve ForEach-Object -Parallel ile çok iş parçacıklı işleme; Desired State Configuration (DSC) ile yapılandırma yönetimi; AST ile kod analizi, modül imzalama ve performans ölçümü (Measure-Command) konularını derinlemesine işler.

Süre ve Format

4 Gün. Her gün dört modül; her modül ileri düzey kavram ve uygulamalı kod lab'ıyla ilerler.

Seviye

Uzman Seviye — PowerShell dilinin ileri yönleri: class, gelişmiş fonksiyonlar, runspace/paralel işleme, DSC, hata yönetimi ve performans ayarlama.

Öğrenme Metodu

VS Code ve PowerShell 7 ortamında sınıf, runspace ve DSC örnekleri yazılarak, Measure-Command ile ölçümlerle öğretilir.

Neden Bu Eğitim?

🧩Dil Derinliği

Class, enum ve gelişmiş fonksiyonlarla kod yapınızı nesne yönelimli ve bakımı kolay hale getirirsiniz.

🚀Paralellik

Runspace ve ForEach-Object -Parallel ile uzun süren işleri çok iş parçacıklı hale getirirsiniz.

⚙️DSC Gücü

Desired State Configuration ile sunucu yapılandırmasını kod olarak tanımlayıp sapmaları düzeltirsiniz.

Anahtar Konular

ileri powershellpowershell classgelişmiş fonksiyonlarcmdletbindingrunspace paralelforeach-object paralleldesired state configurationpowershell astpester testpowershell performans
“İyi betik çalışan değil, okunan, test edilen ve bakımı yapılabilen betiktir.”

Ön Koşullar

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

1
İleri PowerShell

Fonksiyon, modül, pipeline ve nesne kavramlarını rahatça kullanıyor olmak gerekir.

2
Betik Deneyimi

Daha önce betik veya küçük modüller yazmış olmak faydalı olur.

3
Nesne Yönelimli Bakış

Sınıf, metot ve özellik gibi OOP kavramlarına aşinalık önerilir.

4
PowerShell 7 Ortamı

VS Code, PowerShell 7 ve yönetici erişimine sahip bir Windows ortamı önerilir.

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ı, cmdlet benzeri davranan gelişmiş fonksiyonları parametre doğrulama ve pipeline desteğiyle yazar.
Modül 1
CmdletBinding
  • [CmdletBinding()] ile fonksiyona gelişmiş cmdlet davranışı kazandırma
  • SupportsShouldProcess ile -WhatIf ve -Confirm desteği ekleme
  • $PSCmdlet.ShouldProcess ile değişiklik onayı uygulama
  • ConfirmImpact seviyesiyle onay eşiği belirleme
  • Common parameters: Verbose, Debug, ErrorAction'ın otomatik gelmesi
  • DefaultParameterSetName ile varsayılan parametre seti seçimi
Modül 2
Parametre Doğrulama
  • [Parameter(Mandatory, ValueFromPipeline)] öznitelikleri
  • [ValidateSet], [ValidateRange], [ValidatePattern] ile girdi doğrulama
  • [ValidateScript] ile özel doğrulama mantığı yazma
  • ParameterSetName ile birbiriyle çakışan parametre grupları
  • [Alias] ile parametre takma adları tanımlama
  • Dinamik parametreler (DynamicParam) ve koşullu parametre üretimi
Modül 3
Pipeline İşleme
  • Begin, Process ve End bloklarının çalışma zamanlaması
  • ValueFromPipeline ile tek tek nesne işleme
  • ValueFromPipelineByPropertyName ile özellik eşleme
  • $_ / $PSItem ile pipeline nesnesine erişim
  • Pipeline'da streaming ve bellek verimliliği
  • Boru hattında erken çıkış ve filtreleme desenleri
Modül 4
Çıktı ve Akış
  • Write-Output, Write-Verbose, Write-Warning akış ayrımı
  • Write-Error ile non-terminating hata üretme
  • Write-Information ve information stream kullanımı
  • Return ifadesi ile fonksiyon çıktısını yanlış kullanmaktan kaçınma
  • [OutputType()] ile çıktı tipini belgeleme
  • Çıktı nesnelerini PSCustomObject ile yapılandırma
Günün hedefiKatılımcı, PowerShell class ile nesne yönelimli yapılar kurar ve tip sistemini derinlemesine kullanır.
Modül 1
Sınıf Tanımı
  • class anahtar kelimesiyle özellik ve metot tanımlama
  • Constructor (yapıcı) aşırı yükleme ve varsayılan değerler
  • [ValidateNotNull()] gibi özniteliklerin sınıf özelliklerinde kullanımı
  • static özellik ve metotlar ile sınıf düzeyi davranış
  • hidden anahtar kelimesiyle gizli üyeler
  • [System.Type] ile tip bilgisine erişim ve GetType()
Modül 2
Kalıtım
  • class B : A sözdizimiyle temel sınıftan türetme
  • base() ile temel sınıf yapıcısını çağırma
  • Metot ezme (override) ve polimorfizm
  • Soyut davranış için temel sınıf tasarımı
  • Arayüz benzeri sözleşmeleri sınıflarla modelleme
  • Kalıtım zincirinde özellik gizleme ve erişim
Modül 3
Enum ve Tip
  • enum ile adlandırılmış sabit kümeleri tanımlama
  • [Flags()] enum ile bit maskeleme
  • Enum değerlerini parametre doğrulamada kullanma
  • [type]:: cast ve tip dönüşümleri
  • Add-Type ile C# kodu derleyip tür ekleme
  • PSCustomObject ile class arasındaki kullanım tercihi
Modül 4
DSC Resource Sınıfı
  • [DscResource()] özniteliğiyle sınıf tabanlı DSC kaynağı yazma
  • Get(), Set(), Test() metotlarının sözleşmesi
  • [DscProperty(Key)] ve [DscProperty(Mandatory)] işaretleme
  • Idempotent (tekrarlanabilir) Set mantığı kurma
  • Sınıf tabanlı kaynağı modül manifestinde yayınlama
  • Test metoduyla yapılandırma sapmasını belirleme
Günün hedefiKatılımcı, çok iş parçacıklı işler kurar, hataları sağlam yönetir ve kodu derinlemesine ayıklar.
Modül 1
Paralel İşleme
  • ForEach-Object -Parallel ve -ThrottleLimit (PowerShell 7)
  • Start-ThreadJob ile hafif iş parçacığı işleri
  • RunspacePool ile düşük seviye paralellik kurma
  • $using: ile paralel bloklara değişken taşıma
  • Thread-safe koleksiyonlar (ConcurrentDictionary) kullanımı
  • Start-Job ile ayrı süreç işleri ve performans farkı
Modül 2
Hata Yönetimi
  • Terminating ve non-terminating hata ayrımı
  • try/catch/finally ile yapısal hata yakalama
  • ErrorAction Stop ile non-terminating'i terminating'e çevirme
  • $Error otomatik değişkeni ve hata geçmişi
  • throw ile özel hata üretme ve catch'te tipine göre ayrıştırma
  • $ErrorActionPreference ile oturum geneli hata davranışı
Modül 3
Hata Ayıklama
  • Set-PSBreakpoint ile satır, komut ve değişken kesme noktası
  • VS Code PowerShell eklentisiyle adım adım debug
  • Write-Debug ve $DebugPreference ile hata ayıklama akışı
  • Get-PSCallStack ile çağrı yığınını inceleme
  • Start-Transcript ile oturum kaydı alma
  • Strict mode (Set-StrictMode) ile sessiz hataları yüzeye çıkarma
Modül 4
AST Analizi
  • Abstract Syntax Tree (AST) kavramı ve kullanım alanı
  • [System.Management.Automation.Language.Parser]::ParseInput kullanımı
  • FindAll ile betik içindeki belirli ifade tiplerini bulma
  • PSScriptAnalyzer ile kod kalite denetimi
  • Özel kurallarla statik analiz yazma
  • AST ile kod dönüştürme ve otomatik refaktör fikri
Günün hedefiKatılımcı, yayınlanabilir modüller üretir, DSC ile yapılandırma yönetir ve betik performansını ölçüp iyileştirir.
Modül 1
Modül Mühendisliği
  • Script modülü (.psm1) ve manifest (.psd1) yapısı
  • New-ModuleManifest ile sürüm, bağımlılık ve dışa aktarım tanımlama
  • Export-ModuleMember ile açık API yüzeyi belirleme
  • Pester ile birim testleri yazıp Invoke-Pester ile çalıştırma
  • Publish-Module ile PSGallery/özel repoya yayınlama
  • Modül otomatik yükleme ve $PSModulePath yolu yönetimi
Modül 2
DSC Yapılandırma
  • Configuration bloğu ile node yapılandırması tanımlama
  • MOF derleme ve .mof dosyasının rolü
  • Start-DscConfiguration ile push modunda uygulama
  • Test-DscConfiguration ile uyum (compliance) kontrolü
  • LCM (Local Configuration Manager) ayarları ve refresh modu
  • Pull server mimarisi ile merkezi yapılandırma dağıtımı
Modül 3
Güvenlik ve İmzalama
  • Execution policy seviyeleri ve RemoteSigned etkisi
  • Set-AuthenticodeSignature ile betik imzalama
  • Kod imzalama sertifikası ve güven zinciri
  • Constrained Language Mode ve uygulama kontrolü
  • Secret yönetimi için SecretManagement modülü
  • ScriptBlock logging ve transkript ile denetim
Modül 4
Performans
  • Measure-Command ile çalışma süresi ölçümü
  • ArrayList / Generic.List kullanarak += dizi yavaşlığından kaçınma
  • Pipeline yerine döngü seçiminin bellek/CPU etkisi
  • Where() ve ForEach() metot sözdiziminin hız avantajı
  • .NET metotlarını cmdlet yerine kullanarak optimize etme
  • Bellek profili ve büyük veri işlemede streaming yaklaşımı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Gelişmiş Fonksiyon

CmdletBinding ve parametre setleriyle cmdlet gibi davranan fonksiyonlar yazabilirsiniz.

✅
Sınıf Tasarımı

PowerShell class, kalıtım ve enum ile nesne yönelimli yapılar kurabilirsiniz.

✅
Paralellik

Runspace ve ForEach-Object -Parallel ile çok iş parçacıklı işlemler yürütebilirsiniz.

✅
Hata Yönetimi

Terminating/non-terminating ayrımını ve try/catch'i sağlam biçimde uygulayabilirsiniz.

✅
Hata Ayıklama

Breakpoint, call stack ve strict mode ile kodu derinlemesine ayıklayabilirsiniz.

✅
Modül Yayını

Manifestli, test edilmiş modüller üretip repoya yayınlayabilirsiniz.

✅
DSC Yönetimi

Desired State Configuration ile yapılandırmayı kod olarak tanımlayıp sapmaları düzeltebilirsiniz.

✅
Performans

Measure-Command ve veri yapısı seçimleriyle betiklerinizi optimize edebilirsiniz.

Kimler İçin Uygundur?

  • PowerShell'i günlük kullanan
  • dilin iç yapısını ve ileri tekniklerini öğrenerek kurumsal ölçekli
  • performanslı
  • bakımı kolay betikler yazmak isteyen deneyimli yöneticiler ve geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
PowerShell'i günlük kullanan, dilin iç yapısını öğrenip kurumsal ölçekli performanslı betikler yazmak isteyen deneyimli yöneticiler ve geliştiriciler için uygundur.
PowerShell class ne zaman gereklidir?
Karmaşık nesne modelleri, DSC kaynakları ve kalıtım gerektiren yapılarda PSCustomObject'in yetersiz kaldığı durumlarda class tercih edilir.
Paralel işleme için PowerShell 7 şart mı?
ForEach-Object -Parallel PowerShell 7 ile gelir; Windows PowerShell 5.1'de runspace veya ThreadJob alternatifleri kullanılır.
DSC hâlâ kullanılıyor mu?
Evet, sunucu yapılandırmasını kod olarak tanımlayıp sapmaları tespit ve düzeltme ihtiyacı olan ortamlarda kullanılmaya devam eder.
Hangi ortam gerekli?
VS Code, PowerShell 7 ve yönetici erişimine sahip bir Windows ortamı örnekleri uygulamak için önerilir.

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. PowerShell Üst düzey Sınıfı Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
SeviyeUzman 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 : Services & Databases Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Powershell : Services & Databases Eğitimi

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

Get-Service ailesiyle Windows hizmetlerini, SqlServer modülü ve Invoke-Sqlcmd ile SQL Server sorgu, yedekleme ve izleme işlerini PowerShell'le otomatikleştirin.

Detayları Gör →
PowerShell ve Betik YazımıPowershell : SharePoint configuration Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Powershell : SharePoint configuration Eğitimi

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

SharePoint Management Shell ve PnP.PowerShell ile farm kurulumu, web uygulaması, site koleksiyonu, hizmet uygulaması ve SharePoint Online yönetimini otomatikleş

Detayları Gör →
PowerShell ve Betik YazımıPowershell Advanced Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Powershell Advanced Eğitimi

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

Gelişmiş fonksiyonlar, modül ve sınıf yazımı, hata yönetimi, remoting, JEA, paralel işleme, Pester testi ve performans ile üretim kalitesinde PowerShell gelişti

Detayları Gör →
PowerShell ve Betik YazımıPowerShell and Desired State Configuration Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

PowerShell and Desired State Configuration Eğitimi

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

PowerShell DSC ile bildirimsel yapılandırma: configuration ve MOF derleme, LCM, sürüklenme düzeltme, pull server, özel kaynak yazımı ve Azure Automation DSC.

Detayları Gör →
PowerShell ve Betik YazımıPowershell Basic Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Powershell Basic Eğitimi

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

PowerShell'e sıfırdan giriş: cmdlet ve pipeline mantığı, nesneler, Get-Help ile keşif, değişkenler, operatörler, döngüler ve ilk .ps1 betiklerinizi yazın.

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