HYHüseyin.dev
Tüm yazılar
·1 dk okuma

PowerShell ile Helpdesk Otomasyonu: 12 Senaryo, 1 Script

Helpdesk ekibinin her gün tekrar ettiği 12 sıkıcı görevi tek bir PowerShell modülüyle nasıl otomatikleştirdim.

powershellautomationwindowshelpdesk

IT helpdesk'te geçen 5 yılda, gelen ticket'ların yaklaşık %60'ının aynı 12 senaryodan birine düştüğünü fark ettim. Bu yazıda o senaryoları ve PowerShell ile nasıl otomatikleştirdiğimi anlatıyorum.

Tekrar eden 12 senaryo

  1. Parola sıfırlama (Active Directory)
  2. Hesap kilidi açma
  3. Yeni kullanıcı açılışı (AD + posta + SaaS lisansları)
  4. Grup üyeliği değişikliği (dağıtım listeleri, güvenlik grupları)
  5. Bilgisayarı domain'den çıkarma / ekleme
  6. S/MIME sertifikası yenileme
  7. BitLocker kurtarma anahtarı görüntüleme
  8. Yazıcı kuyruğu temizleme
  9. VPN profili yeniden dağıtımı
  10. Outlook PST arşivleme
  11. Teams cache temizliği
  12. Office lisans devri

Modüler yapı

Her senaryo kendi fonksiyonu, kendi parametreleri ve kendi loglaması olan bir PowerShell fonksiyonu olarak yazıldı:

function Reset-ADPassword {
  [CmdletBinding()]
  param(
    [Parameter(Mandatory)] [string] $SamAccountName,
    [switch] $RequireChangeAtLogon
  )
  try {
    Set-ADAccountPassword -Identity $SamAccountName -Reset -PassThru |
      Set-ADUser -ChangePasswordAtLogon $RequireChangeAtLogon.IsPresent
    Write-Log "Password reset OK: $SamAccountName"
  } catch {
    Write-Log "Password reset FAILED: $_" -Level Error
    throw
  }
}

Sonuç

  • Ortalama ticket çözüm süresi: 18 dk → 3 dk
  • Manuel hata oranı: yılda 22 → 3
  • L1 ekibinin SLA uyum oranı: %87 → %98

Toplam geliştirme süresi ~3 hafta, geri dönüş ilk ayda.