はじめに
Windows Defencerのリアルタイム保護の設定をPowershellにて設定しようとしたところ、うまく機能しませんでした。
PS C:\Windows\system32> Set-MpPreference -DisableRealtimeMonitoring 0
PS C:\Windows\system32> (Get-MpPreference).DisableRealtimeMonitoring
False
PS C:\Windows\system32> Set-MpPreference -DisableRealtimeMonitoring 1
PS C:\Windows\system32> (Get-MpPreference).DisableRealtimeMonitoring
False
原因を調べていたところ、改竄防止機能が有効になっていると、このリアルタイム保護機能を無効化できないみたいです。
本記事では、機能させるための手順を備忘録として残しておきます。
改竄防止機能の無効化
Windows セキュリティ画面から無効化する
- Windows セキュリティを開きます。
- 左メニューの「ウィルスと脅威の防止」を選択し、「設定の管理」をクリックします。
- 「改ざん防止」がONになっているので、「OFF」にします。
レジストリで無効化する
下記レジストリを設定することで無効化が可能です。
キー : HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows Defender¥Features
名前 : TamperProtection
種類 : DWORD
値 : 0(無効) / 5(有効)
もし、書き換え時にエラーが発生した場合は、アクセス権がない場合がほとんどですので、所有者の変更や権限の変更をしてください。(ここでは省きます)
リアルタイム保護の無効化
以下のコマンドをPowerShellにて実行します。
PS C:¥Windows¥system32> Set-MpPreference -DisableRealtimeMonitoring 0
PS C:¥Windows¥system32> (Get-MpPreference).DisableRealtimeMonitoring
False
有効化してみます。
PS C:¥Windows¥system32> Set-MpPreference -DisableRealtimeMonitoring 1
PS C:¥Windows¥system32> (Get-MpPreference).DisableRealtimeMonitoring
True
問題なく動作していますね。
最後に
手動でWindowsセキュリティ画面でリアルタイム保護を無効にすれば、普通に無効になります。
しかし、企業によっては、全員に対応してもらうのは難しい場合があるかと思います。
そういった時に定期的に自動で無効化/有効化したいなどといったケースに利用できるかと思います。