Exchange 2016: Virenscanner Ausschlüsse (Script für Windows Defender)

Windows Defender ist auf Windows Server 2016 per Default aktiviert. Da Exchange Server einige Ausschlüsse vom Virenscanner benötigt, müssen diese entsprechend auch in Windows Defender hinterlegt werden. Gleiches gilt für Virenscanner anderer Hersteller.

Auf dem Exchange Team Blog findet sich dazu folgender Hinweis:

Windows Defender is on by default in Windows Server 2016. Attention to malware settings is particularly important with Exchange to avoid long processing times during installation and upgrade, as well as unexpected performance issues. The Exchange team recommends the Exchange installation and setup log folders be excluded from scanning in Windows Defender and other Anti-Virus software. Exchange noderunner processes should also be excluded from Windows Defender.

Quelle: Exchange Team Blog

Im Technet sind die Ausschlüsse für Exchange 2016 hier dokumentiert:

Die Liste ist allerdings lang, daher hat Exchange MVP Paul Cunningham ein Script veröffentlicht, welches die Ordner, Prozesse und Dateitypen übersichtlich in 3 Dateien einsortiert. Das Script gibt es hier zum Download:

Generate Antivirus Exclusions for Exchange 2013 and 2016 Servers

Virenscanner Ausschlüsse per Script ermitteln

Nachdem Paul’s Script auf dem Exchange Server mittels Exchange Management Shell ausgeführt wurde, finden sich die 3 Dateien im Ordner des Scripts:

image

Das Script selbst, erzeugt nur den Hinweis „Done“ als Ausgabe:

image

In den 3 Dateien sind jetzt alle Ausnahmen für Exchange Server enthalten. Hier als Beispiel die Dateitypen:

image

Alle Ausschlüsse (Dateitypen, Pfade und Prozesse) müssen jetzt im Virenscanner ausgeschlossen werden. Wie das funktioniert ist bei jedem Virenscanner unterschiedlich. Für Windows Defender ist das einfach:

Ausschlüsse zu Windows Defender hinzufügen

Wie eingangs bereits erwähnt ist Windows Defender auf Windows Server 2016 standardmäßig aktiviert. Da sich Windows Defender aber mit der PowerShell konfigurieren lässt, geht es besonders schnell die Ausschlüsse zu konfigurieren. Das folgende kleine Script verwendet die 3 Dateien von „Get-Exchange2016AVExclusions.ps1“ und fügt die Ausschlüsse hinzu:

[array]$ExcludeExtensions = (Import-Csv .\*extensions.txt -Header Extension).Extension
Set-MpPreference -ExclusionExtension $ExcludeExtensions

[array]$ExcludePaths = (Import-Csv .\*paths.txt -Header Paths).Paths
Set-MpPreference -ExclusionPath $ExcludePaths

[array]$ExcludeProcesses = (Import-Csv .\*procs.txt -Header Processes ).Processes
Set-MpPreference -ExclusionProcess $ExcludeProcesses

write-host "Exluded extensions: " -foregroundcolor green
Get-MpPreference | fl ExclusionExtension
write-host "Exluded pathes: " -foregroundcolor green
Get-MpPreference | fl ExclusionPath
write-host "Exluded processes: " -foregroundcolor green
Get-MpPreference | fl ExclusionProcess

Das Script kann einfach als .PS1 Datei im gleichen Verzeichnis wie „Get-Exchange2016AVExclusions.ps1“ gespeichert werden und danach als Administrator ausgeführt werden:

Windows Defender

Fertig. :-)

21 thoughts on “Exchange 2016: Virenscanner Ausschlüsse (Script für Windows Defender)”

  1. Frage zum Script auf einem Exchange 2019:

    Das Script lässt sich nicht ausführen. Auf einem 2016er hat es noch funktioniert aber jetzt moniert die Powershell eine fehlende digitale Signatur. Kann mir jemand weiterhelfen?

    Danke

    Reply
  2. Frage zu dem Script:

    wie kann ich die Einträge wieder rückgängig machen? Leider lassen sich die dadurch hinzugefügten Ausschlüsse nicht über die GUI manuell löschen. Ich kann zwar „Entfernen“ klicken, das bewirkt aber leider nichts.

    Ich habe hier eine O365 Hybrid-Bereitstellung mit einem EX2016 auf einem Server 2016, der Server macht also eigentlich nichts, ich wollten wegen der aktuell Hacks aber mal explizit mit dem Defender auch die Exchange Verzeichnisse scannen. (gepatcht habe ich natürlich trotzdem)

    Danke

    Reply
  3. Hallo Frank,

    auch ich möchte mich noch einmal an dieser Stelle für die vielen HowTos bedanken und Dich damit bestärken immer weiter zu machen :-)
    Aber ein Anliegen habe ich dennoch. Nach deinem HowTo Exchanger Server 2016 cu8 habe ich eine Exchange Server 2016 cu17-Struktur aufgebaut. Nach deinen Angaben hat alles funktioniert, jedoch bleibe ich bei den Ausnahmen für den Defender hängen.
    Das Script „Get-Exchange2016AVExclusions.ps1“ lässt sich zwar ausführen, es legt die Dateien an, jedoch sind die Dateien nach der Ausführung leer. Woran kann das liegen, habe ich noch etwas übersehen?

    MfG
    Andreas

    Reply
  4. Hallo!
    Mir ist aufgefallen, dass das Skript den Indexpfad nicht berücksichtigt.
    Es wird nur der Pfad zur EDB eingetragen, aber nicht der Indexordner im gleichen Pfad.
    Sollte man das im Skript evtl. noch nachbessern?

    Reply
  5. Danke für den Beitrag

    der Schalter -ConfigureWindowsDefender
    hat bei mir keine Pfade herausgenommen, Erweiterungen und Prozesse jedoch sauber übernommen
    Windows 2016 mit Exchange 2016 CU8

    Reply
  6. Hallo Frank

    Mittlerweile ist es mit dem Script von Paul direkt möglich, die Exclusions in den Windows Defender von Server 2016 einzutragen.
    Beim Generieren des Reprots einfach noch den Switch -ConfigureWindowsDefender anhängen, dann werden die Einträge aus den Files auch gleich in den Defender eingetragen.

    Gruss
    Doudi

    Reply
  7. Jo, geht wieder. War wohl tatsächlich nur ein temporäres Problem ;-).

    Danke.

    Gruß
    Christoph

    Reply
  8. Hallo Frank,

    der Link zum Skript von Paul Cunningham funktioniert nicht mehr. Ich habe auch im Web und auf den MS-Seiten gesucht, aber nicht gefunden. Hättest Du das als Datei zum Verschicken?

    Gruß
    Christoph

    Reply
  9. Hallo,

    gibt es zufällig auch so eine Möglichkeit für die System Center Endpoint Protection 2016?

    Gruß
    Benjamin

    Reply
  10. Hallo Frank,
    vielen Dank für das Skript oben, die Funktion ist so wie beschrieben.
    Ich denke allerdings, in Zeile 7 sollte .\*procs.txt (statt erneut .\*paths.txt) stehen.
    Hier konnte ich vor dem msxSetup Defender nicht über GUI deaktivieren, ich habe dafür in PS
    ‚Set-MpPreference DisableRealtimeMonitoring $true‘ benutzt.
    MfG, jel

    Reply
  11. Besteht die Möglichkeit diesen Vorgang irgendwie via GPO komplett zu automatisieren? Und müssen die Ausnahmen auch separat für den SCCM Endpoint Security-Client erfolgen oder bezieht dieser auch die Ausnahmeregeln von Windows Defender mit ein? (Die Lösungen verwenden meines Wissens nach ja eine ähnliche oder gar dieselbe Engine?)

    Reply
  12. … mh.

    wenn ich also nur hyper-v maschinen mit daten betreibe kann ich auf dem host den virenscanner komplett deaktivieren … oder wie seht ihr das?

    Reply

Leave a Comment