Sorun
Windows 10, Windows 11 ve Windows Server 2016 veya sonraki sürümlerinde çalışan sistemlerde Microsoft Defender Antivirus'un güvenlik özelliklerini merkezi olarak yönetmek, manuel ayarlar gerektirdiğinde zaman alıcı ve hata-prone olabilir. Özellikle büyük ölçekli cihaz filolarında (örneğin kurumsal ağlar) güvenlik politikalarının tutarlılığını sağlamak ve exploit koruma gibi gelişmiş özellikleri yapılandırmak zorlu bir görev haline gelebilir.
Çözüm
Microsoft Defender Antivirus, yerleşik PowerShell cmdlet'leri aracılığıyla geniş bir yönetim arayüzü sunar. Bu komutlar sayesinde aşağıdaki işlemleri gerçekleştirebilirsiniz:
- Gerçek zamanlı koruma ve bulut tabanlı koruma gibi temel güvenlik özelliklerini yapılandırma
- Exploit koruma kurallarını uygulama ve yönetme
- Güncellemeleri otomatikleştirme ve tarama zamanlamalarını ayarlama
- Güvenlik olaylarını izleme ve raporlama
- Cihaz filolarında tutarlı güvenlik politikaları uygulama
Ön Gereksinimler
- Yönetici hakları: PowerShell komutlarını çalıştırmak için yerel veya etki alanındaki yönetici haklarına sahip olmalısınız.
- PowerShell versiyonu: Windows PowerShell 5.1 veya PowerShell 7+ kullanılmalıdır. PowerShell Core (7+) tercih edilir, çünkü daha modern ve genişletilebilir özellikler sunar.
- Modül yükleme: Microsoft Defender Antivirus cmdlet'lerini kullanabilmek için
Defendermodülünün yüklü olduğundan emin olun. Eğer yüklü değilse, aşağıdaki komutla yükleyin:Install-Module -Name Defender -Force -Scope AllUsers - Windows Defender hizmeti: Hizmetin çalışır durumda olduğundan emin olun. Hizmet durdurulmuşsa, aşağıdaki komutla yeniden başlatın:
Set-Service -Name WinDefend -StartupType Automatic Start-Service -Name WinDefend
Temel Yönetim Komutları
1. Koruma Durumunu Kontrol Etme
Sisteminizin Microsoft Defender Antivirus tarafından korunup korunmadığını kontrol edin:
Get-MpComputerStatus
Bu komut, aşağıdaki gibi önemli bilgiler döndürür:
RealTimeProtectionEnabled: Gerçek zamanlı korumanın aktif olup olmadığıAntivirusEnabled: Antivirüs korumasının aktif olup olmadığıAntispywareEnabled: Casus yazılım korumasının aktif olup olmadığıIoavProtectionEnabled: Bulut tabanlı korumanın aktif olup olmadığıAntivirusSignatureLastUpdated: Son antivirüs imza güncelleme zamanı
2. Gerçek Zamanlı Korumayı Etkinleştirme/Durdurma
Gerçek zamanlı korumayı etkinleştirmek için:
Set-MpPreference -DisableRealtimeMonitoring $false
Gerçek zamanlı korumayı devre dışı bırakmak için:
Set-MpPreference -DisableRealtimeMonitoring $true
Uyarı: Gerçek zamanlı korumayı devre dışı bırakmak, sisteminizi zararlı yazılımlara karşı savunmasız bırakır. Yalnızca geçici durumlar için veya güvenlik testleri sırasında kullanın.
3. Güncellemeleri Manuel Olarak Kontrol Etme
Microsoft Defender Antivirus imzalarını ve motorunu manuel olarak güncellemek için:
Update-MpSignature
Bu komut, en son imza ve motor güncellemelerini indirir ve uygular.
4. Tarama Türlerini ve Zamanlamalarını Yapılandırma
Standart bir tarama zamanlaması oluşturmak için:
Set-MpPreference -ScanParameters 1 -ScanType 2 -ScanDay 0 -ScanTime 12:00
Açıklamalar:
-ScanParameters 1: Haftalık tarama-ScanType 2: Tam sistem taraması-ScanDay 0: Pazar günü-ScanTime 12:00: Saat 12:00'de
Farklı tarama türleri için parametreler:
-ScanType:1: Hızlı tarama2: Tam tarama3: Özel tarama (belirli dosya/dizinler)
-ScanDay:0: Pazar1: Pazartesi2: Salı- ...
6: Cumartesi
5. Exploit Koruma Kurallarını Yönetme
Exploit koruma, bellek koruma ve saldırı azaltma tekniklerini uygulayarak sisteminizi saldırılara karşı korur. Exploit koruma kurallarını görüntülemek için:
Get-ProcessMitigation
Belirli bir uygulamaya özel koruma kuralları uygulamak için:
Add-ProcessMitigation -Name notepad.exe -DisableRandomizeHeap -EnableForceRelocateImages
İpucu: Exploit koruma kurallarını yönetmeden önce, Microsoft'un Exploit Guard belgelerini inceleyin. Gereksiz kurallar uygulamak performans sorunlarına yol açabilir.
6. Karantinaya Alınmış Öğeleri Yönetme
Karantinaya alınmış tehditleri listelemek için:
Get-MpThreatDetection
Belirli bir tehdidi karantina listesinden kaldırmak için:
Remove-MpThreat -ThreatID 12345
Tüm karantinaya alınmış tehditleri temizlemek için:
Remove-MpThreat -All
7. Bildirimleri ve Raporlamayı Yapılandırma
Microsoft Defender Antivirus'un gönderdiği bildirimleri yönetmek için:
Set-MpPreference -DisableEmailNotification $false -EmailNotificationTo admin@company.com
Güvenlik olaylarını Event Viewer üzerinden de izleyebilirsiniz. Olay kimliği 5001 (antivirüs imza güncellemesi) ve 5010 (antivirüs koruması devreye alındı) gibi olayları takip edin.
Gelişmiş Senaryolar
1. Toplu Cihazlarda PowerShell ile Yönetim
Büyük ölçekli cihaz filolarında Microsoft Defender Antivirus'unuzu merkezi olarak yönetmek için PowerShell'in uzaktan çalıştırma özelliklerini kullanabilirsiniz. Örneğin, tüm etki alanı bilgisayarlarında aynı güvenlik ayarlarını uygulamak için:
Invoke-Command -ComputerName (Get-ADComputer -Filter *).Name -ScriptBlock { Set-MpPreference -DisableRealtimeMonitoring $false } -Credential (Get-Credential)
Uyarı: Uzak komut çalıştırmadan önce, hedef sistemlerde PowerShell Remote (WinRM) hizmetinin etkin olduğundan emin olun. Ayrıca, güvenlik nedeniyle sadece gerekli sistemlerde bu komutları çalıştırın.
2. Exploit Koruma Kurallarını XML Dosyasından Uygulama
Exploit koruma kurallarını bir XML dosyasından uygulamak için:
- Kuralları
New-ProcessMitigationRulekomutuyla oluşturun ve XML dosyasına kaydedin. - XML dosyasını hedef sisteme kopyalayın.
- Aşağıdaki komutla kuralları uygulayın:
Set-ProcessMitigation -PolicyFilePath C:\path\to\exploitguard.xml
3. PowerShell ile Güvenlik Politikalarını Otomatikleştirme
Güvenlik politikalarını otomatikleştirmek için PowerShell betikleri oluşturabilirsiniz. Örnek bir betik:
# Güvenlik ayarlarını yapılandırma betiği
# Tüm ayarları varsayılan olarak etkinleştir
Set-MpPreference -DisableRealtimeMonitoring $false
Set-MpPreference -DisableBehaviorMonitoring $false
Set-MpPreference -DisableOnAccessProtection $false
Set-MpPreference -DisableScanOnRealtimeEnable $false
# Haftalık tam sistem taraması ayarlama
Set-MpPreference -ScanParameters 1 -ScanType 2 -ScanDay 0 -ScanTime 03:00
# Exploit koruma kurallarını uygula
Add-ProcessMitigation -Name explorer.exe -EnableCFG -EnableSEHOP
Write-Host "Microsoft Defender Antivirus güvenlik ayarları başarıyla yapılandırıldı."
Sorun Giderme
1. PowerShell Komutları Hata Veriyor
Eğer Get-MpComputerStatus gibi komutlar çalışmıyorsa, aşağıdakileri kontrol edin:
- PowerShell'in yönetici olarak çalıştırıldığından emin olun.
Defendermodülünün yüklü olduğunu doğrulayın:Get-Module -Name Defender -ListAvailable- Windows Defender hizmetinin çalışır durumda olduğunu kontrol edin:
Get-Service -Name WinDefend
2. Güncellemeler Başarısız Oluyor
Eğer Update-MpSignature komutu çalışmıyorsa:
- İnternet bağlantısını kontrol edin.
- Windows Update hizmetinin çalışır durumda olduğunu doğrulayın:
Get-Service -Name wuauserv - Güncelleme kaynaklarını manuel olarak ayarlayın:
Set-MpPreference -SignatureDisableUpdateOnStartup $false
3. Exploit Koruma Kuralları Uygulanmıyor
Eğer Add-ProcessMitigation komutu hata veriyorsa:
- Exploit koruma kurallarının sisteminizde desteklenip desteklenmediğini kontrol edin. Eski Windows sürümlerinde bu özellik bulunmayabilir.
- Kuralların uygulanabilmesi için sistemin yeniden başlatılması gerekebilir.
Sonuç
Microsoft Defender Antivirus'un PowerShell cmdlet'leri, sistem güvenliğini merkezi olarak yönetmek ve otomatikleştirmek için güçlü bir araç seti sunar. Bu komutlar sayesinde, exploit koruma, gerçek zamanlı izleme ve güncellemeler gibi kritik güvenlik özelliklerini kolayca yapılandırabilir, büyük ölçekli cihaz filolarında tutarlı güvenlik politikaları uygulayabilirsiniz. PowerShell'in esnekliği ve otomasyon yetenekleriyle, güvenlik yönetimi artık daha az zaman alıcı ve daha güvenilir hale geliyor.
Unutmayın, bu komutları kullanırken her zaman en iyi uygulamaları takip edin ve sisteminizi gereksiz risklere maruz bırakmayın. Özellikle exploit koruma ve gerçek zamanlı koruma gibi kritik özellikleri devre dışı bırakırken dikkatli olun.



