- 締切済み
windows defender停止するコマンド
windows 10でプロンプトでwindows defender停止(開始)するコマンドを教えてください 現在は、 defenderを”すべての設定”から順番に追って”リアルタイム保護”のトグルスイッチを”オン”又は”オフ”にしていますが これを簡単にできないかと考えて書きコマンドプロンプトが利用できるようなので試してみました。 (bat作成後ワンクリックで停止、再開できるように) サービス停止 sc stop "SecurityHealthService" sc config "SecurityHealthService" start= disabled サービス開始 sc start "SecurityHealthService" sc config "SecurityHealthService" start= auto ------------------------ 私は、ユーザーとしては管理者です。 コマンドプロンプトは、管理者権限で実施しましたがエラーが発生しました。 エラー sc stop "SecurityHealthService" では、 OpenService FAILD 5: アクセスが拒否されました。 このエラーは、、ローカル コンピュータの Administrators グループのメンバーでない場合に出るようです。 具体的に、エラーが出ないようにはどうすれば良いですか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kteds
- ベストアンサー率42% (1883/4441)
No.2です。 >エラーの状況です。 「管理者:コマンドプロンプト」で実行していますね。 私の添付画像は「管理者:Windows PowerShell」です。
- kteds
- ベストアンサー率42% (1883/4441)
No.1です。 >Start も 2のままです。 レジストリが変更されていない、という状態です。 スペース位置は5か所です。(添付画像 参照) レジストリ変更結果は、システム再起動後からになります。 もちろんですが、実際にdefenderを停止(無効)で使用している私の環境ではstart 4にすればwindows defender自体が停止(無効)になりますので、defenderでの設定自体が出来なくなります。(グレイ表示) start 2にすれば開始(有効)なります。
お礼
batに記載したコマンドの順番(半角)は間違っていません。
補足
Powershellが管理者権限じゃないとbatも作動しないようで 次のように改良するとうまく処理できるようです。 @(echo '> NUL echo off) NET SESSION > NUL 2>&1 IF %ERRORLEVEL% neq 0 goto RESTART setlocal enableextensions set "THIS_PATH=%~f0" set "PARAM_1=%~1" PowerShell.exe -Command "iex -Command ((gc \"%THIS_PATH:`=``%\") -join \"`n\")" exit /b %errorlevel% :RESTART powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process %~f0 -Verb runas" exit ') | sv -Name TempVar Set-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Services\SecurityHealthService" -name "Start" -value 4 ------------------ 思い違いでレジストリ変更結果は、システム再起動後からになると言うことなので 再起動なしにdefenderの停止(無効)、開始(有効)が切り替えられないのでトグルスイッチを切り替える方法が簡単となってしまいます。 再起動せずに切り替える方法はありませんか?
- kteds
- ベストアンサー率42% (1883/4441)
SecurityHealthService はレジストリ設定です。 この設定は サービス:「Windows Defender Security Center」の開始を無効にするものです。(つまり、開始しない設定) 下記はpowershell でのレジストリ設定コマンドの例です。 powershell script ファイルを実行すればいいので、わざわざbatファイルにする必要はありませんが、どうしてもbatファイルにしたければ、 batファイルにpowershell scriptを記述すればいいです。 Set-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Services\SecurityHealthService" -name "Start" -value 4 開始する設定は 下記のようにvalue値を 2 (既定値は2です)に設定すればいいです。 Set-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Services\SecurityHealthService" -name "Start" -value 2
お礼
早速、教えていただいてありがとうございます。 下記無効用のコマンドをbatとして登録、管理者権限で実施しましたが、 Set-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Services\SecurityHealthService" -name "Start" -value 4 (Set-ItemProperty と "hklm:\S の間は半角スペース , -name と "Start の間も半角スペース) defenderを”すべての設定”から順番に追って”リアルタイム保護”のトグルスイッチを見ても”オフ”になっていません。 又、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecurityHealthService Start も 2のままです。 どこか間違っているいますか?
補足
>私の添付画像は「管理者:Windows PowerShell」です。 それは、了解しています。 batで同じことができるようなので次にUPした補足コメントの書き込みを読んで頂けますか? 補足コメント 投稿日時 - 2018-04-11 17:12:18