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
- Parola sıfırlama (Active Directory)
- Hesap kilidi açma
- Yeni kullanıcı açılışı (AD + posta + SaaS lisansları)
- Grup üyeliği değişikliği (dağıtım listeleri, güvenlik grupları)
- Bilgisayarı domain'den çıkarma / ekleme
- S/MIME sertifikası yenileme
- BitLocker kurtarma anahtarı görüntüleme
- Yazıcı kuyruğu temizleme
- VPN profili yeniden dağıtımı
- Outlook PST arşivleme
- Teams cache temizliği
- 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.