Windows 8でタスクスケジューラを使用して、サイレント時間ごとのWindows Defender定義更新のスケジュールを設定する


8

Windows Defenderの定義を1時間ごとに更新したいのですが、タスクスケジューラを使用して、署名更新引数でDefender更新サービスを実行するというアイデアを思いつきました。

~/Windows Defender/MpCmdRun -SignatureUpdate

これはかなりうまく機能しますが、cmd1時間ごとにウィンドウを開き、バックグラウンドでサイレントに実行したいと考えています。

更新の頻度を上げるために実行できるレジストリmodを知っていますが、重要なDefenderの更新後に何度も何度もハックを実行したくないので、その後レジストリは元の設定に戻ります。

私はcmd引数に慣れていません。一部の実行可能ファイル/silentがバックグラウンド起動の引数で機能することは知っていますが、役に立ちません。他に何を試したり使用したりできますか?

回答:


5

CMDファイルの代わりにVBSファイルを使用し、タスクスケジューラで通常どおりにスケジュールします。

VBScriptのrunメソッドは、2番目の引数(, 0)を介して非表示ウィンドウで他のプログラムを開くことができます。トリッキーな部分は、議論と一緒に逃げることでした-SignatureUpdate

set objShell = createobject("wscript.shell")  
objShell.Run("""C:\Program Files\Windows Defender\MpCmdRun.exe"" ""-SignatureUpdate""") , 0

これで、Windows Defenderの更新中にウィンドウが表示されなくなります。タスクマネージャプロセスのみが表示されます。

ここに画像の説明を入力してください


intWindowStyleの他の可能な設定:

0 =ウィンドウを非表示にし、別のウィンドウをアクティブにします。
1 =ウィンドウをアクティブにして表示します。(サイズと位置を復元します)。
2 =アクティブ化および最小化。
3 =アクティブ化して最大化します。
4 =復元。アクティブなウィンドウはアクティブなままです。
5 =アクティブ化および復元。
6 = Zオーダーで次の最上位ウィンドウを最小化してアクティブにします。
7 =最小化。アクティブなウィンドウはアクティブなままです。
8 =ウィンドウを現在の状態で表示します。アクティブなウィンドウはアクティブなままです。
9 =復元とアクティブ化。最小化されたウィンドウを復元するときにこのフラグを指定します。
10 =アプリケーションを起動したプログラムの状態に基づいて表示状態を設定します。


更新の引数を持つ.cmdの代わりに.lnkファイルを使用することは可能ですか?私はそれをデスクトップのような場所に置いてを使用しattrib +r +h +s、非表示のままにします。
Afzal 2013

または、.cmdが更新用の引数で.lnkをポイントしていますか?
Afzal 2013

2つ目の追加ポイントを誤って解釈しました。私の悪い。何, 0丁度のために?
2013

1
これは、呼び出されたプログラムのウィンドウスタイルを定義するVBS runメソッドの引数です。この例では、CMDウィンドウです。このようにして、CMDは起動されますが、タスクバーには表示されません。タスクマネージャでのみ表示できます。
nixda 2013

1
@sabrefresco私はより良い解決策で私の答えを更新しました。これで、CMDファイルはまったく必要ありません。スケジュールされたタスクとそのVBSファイルだけです。
nixda 2013

3

これはかなりうまくいきますが、1時間ごとにcmdウィンドウを開くので、バックグラウンドでサイレントに実行したいと思います。

私は常にMSEではタスクスケジューラを使用し、DefenderではW8を使用しています。コマンドウィンドウが開かないようにするには、タスクスケジューラの[全般]タブでユーザーアカウントをSYSTEMに変更し、ボックスの優先度を高くする必要があります。

これでスムーズに動作するはずです!


2
  1. を使用する代わりに%ProgramFiles%\Windows Defender\MpCmdRun.exe -SignatureUpdate
    %ProgramFiles%\Windows Defender\MSASCui.exe -Update代わりに試してください。

  2. オプション1が機能しない場合は、隠しスタートを使用してcmdウィンドウを非表示にすることができます。

コンソールアプリケーションとバッチファイルは、Windowsの起動時またはスケジュールに従って定期的に実行されます。これの主な不便は、各アプリケーションが画面上でちらつくコンソールウィンドウを開くことです。隠しスタート(またはHstart)は、バックグラウンドでウィンドウなしでコンソールアプリケーションとバッチファイルを実行したり、Windows 7およびVistaでUAC特権の昇格を処理したり、複数のコマンドを並列または同期で開始したりすることができる軽量のコマンドラインユーティリティです。 。

1


OK。したがって、オプション1はDefenderウィンドウ自体を表示します。更新は行われますが、黙って行われるわけではありません。オプション2はサイレント更新に適していますが、更新の頻度について何も表示されません。サイレントのand1時間ごとの定義の更新が必要か、少なくとも更新の頻度を増やす必要があります。HStartが特定の実行可能ファイルを1時間ごとに起動する方法を知っている場合は、そのようなオプションが表示されないのでお知らせください。
Afzal 2013

いいえ、すでに行っているようにタスクスケジューラを使用する必要がありますが、MpCmdRun.exe直接呼び出すhstart.exe代わりに、パラメータとして(/NoConsoleおよび)MpCmdRun.exe -SignatureUpdateを使用して呼び出しますhtstart.exe /NoConsole ""%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate"
カラン2013

はい、わかった。この質問に対する答えはどちらも好きです。おそらくあなたの答えを前の答えとマージして、サードパーティのアプリの有無にかかわらず、この質問に対する2つのオプションを用意できますか?
2013

IMOのようには機能しません。他の誰かが将来来て、別の素晴らしい答えを投稿したらどうなりますか?それもマージしますか?Qs and As hereは将来の読者にも役立つことを意図していますので、忘れないでください。有効な回答が複数ある場合、どの回答を受け入れるかを決めるのは難しいかもしれませんが、それはあなた次第です。時々人々はすべてを賛成し、特定の答えを受け入れません。時々彼らはただ一つをランダムに選ぶだけです。いずれにせよ、他の人と同じように独自のソリューションを検討しているので、(他の人もそうなるはずですが)利益を得ているので、心配しないでください。
Karan

1

毎時更新

schtasks /create /tn "Defender Definition Update" /sc HOURLY /ru SYSTEM /rl HIGHEST /tr "'C:\Program Files\Windows Defender\MpCmdRun.exe' -SignatureUpdate -MMPC"

スケジュールされたタスクを削除する

schtasks /delete /tn "Defender Definition Update"

0

コマンドウィンドウを非表示にする無料アプリは次のとおりです。

ここに画像の説明を入力してください

そのようにスケジュールします。

cmdNoWnd "C:\Program Files\Windows Defender\MpCmdRun.exe" -SignatureUpdate

Windowsタスクスケジューラで1時間ごとに実行するように設定しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.