1. C:\ITnator
  2. PowerShell

PowerShell: Echtzeit-Schutz deaktivieren mit Set-MpPreference

Autor
Johannes Huber
Veröffentlicht
Aktualisiert
Lesezeit
2 Minuten
Comic: Admin vor einem Monitor mit PowerShell, zum Artikel: PowerShell: Echtzeit-Schutz deaktivieren mit Set-MpPreference

Mit PowerShell ist es möglich, ganz einfach den Echtzeit-Virenschutz zu deaktivieren oder zu aktivieren. Manche Tests an Scripte oder Programmen erfordern es, dass man seinen Windows Defender öder Ähnliches kurzzeitig deaktiviert. So gibt es in PowerShell das Cmdlet Set-MpPreference.

Set-MpPreference in PowerShell

Mit dem Cmdlet Set-MpPreference kann der Echtzeit-Schutz des Antiviren-Programms vorübergehend deaktiviert werden. Das ist natürlich nur für Testzwecke empfehlenswert. Natürlich lässt sich der Virenschutz auch wieder aktivieren. Um den oft umständlichen Weg über Einstellungen zu umgehen, kann das ganze in PowerShell abgebildet werden.

Da dies eine tiefgreifende Einstellung im System ist, werden für Set-MpPreference Administrator-Berechtigungen benötigt. Wenn man dieses Cmdlet in einem komplexeren Script verwendet, kann auch zur Laufzeit überprüft werden, ob PowerShell mit erhöhten Rechten ausgeführt wird.

Echtzeit-Virenschutz deaktivieren

Um nun den lokalen Echtzeit-Schutz deaktivieren zu können, wird das Cmdlet Set-MpPrefenerence benötigt, kombiniert mit dem Parameter -DisableRealtimeMonitoring. Als Wert wird $true benötigt.

PowerShell
Set-MpPreference -DisableRealtimeMonitoring $true

Wie man im Screenshot erkennen kann, ist der Schutz nun deaktiviert, aber PowerShell gibt hierzu keine Rückmeldung oder Bestätigung. Gewöhnungsbedürftig ist hier wohl, dass das Deaktivieren mit $true durchgeführt wird.

Echtzeit-Virenschutz aktivieren

Im Gegenzug zum Deaktivieren des Echtzeit Schutzes des Defenders, kann dieser natürlich wieder aktiviert werden. Der PowerShell Befehl ist der Selbe, allerdings muss der Wert (statt $true) $false übergeben werden. So setzt sich dann folgender Befehl zusammen:

PowerShell
Set-MpPreference -DisableRealtimeMonitoring $false

Auch hier wird keine Bestätigung zurückgegeben, der PowerShell Befehl trotzdem erfolgreich ausgeführt.

Fehlermeldung: Set-MpPreference : You don’t have enough permissions…

Wie oben bereits erwähnt, werden für den Vorgang Administrator-Rechte benötigt um den Echtzeit-Virenschutz zu deaktivieren. Das bedeutet, dass PowerShell als Administrator gestartet werden muss, um Set-MpPreference ausführen zu können. Andernfalls erscheint folgende Fehlermeldung:

Set-MpPreference : You don’t have enough permissions to perform the requested operation.

Johannes Huber

Administrator bei ITnator

Schreibt über Probleme aus der Administration von Servern, Clients und vielen weiteren IT-Komponenten.

2 Kommentare

Graumann

Admin\PowerShell-7.4.5-win-x64> Set-MpPreference -DisableRealtimeMonitoring $true Set-MpPreference: Ungültige Klasse Das funktioniert ja so wohl nicht wirklich? Neueste Version Powershell 745

Johannes

Läuft denn der Dienst überhaupt? https://stackoverflow.com/questions/48960190/powershell-set-mppreference-disablerealtimemonitoring-true-not-working-correct Der Befehl funktioniert - eben getestet und genauso in der Microsoft Dokumentation.

Kommentar schreiben

Kommentare erscheinen nach unserer Prüfung. Gespeichert werden Name und Text, siehe Datenschutz.