Windows Defenderの定義更新を定期的に行うタスクを登録するスクリプト
REM | |
REM Windows Defenderの定義更新を定期的に行うタスクを登録するスクリプト | |
REM schtasksコマンドを使用したバージョン | |
REM ※要管理者権限 | |
REM Windows 7で動作確認しています。 | |
REM | |
schtasks.exe /Create /RU system /SC HOURLY /TN "Windows Defender Update" /TR "'C:\Program Files\Windows Defender\MpCmdRun.exe' -SignatureUpdate -MMPC" /ST "01:00:00" |
# | |
# Windows Defenderの定義更新を定期的に行うタスクを登録するスクリプト | |
# ※要管理者権限 | |
# Windows 8.1で動作確認しています。 | |
# | |
# このタスクの作成に当たっては以下の記事の内容を参考にしました。 | |
# http://www.atmarkit.co.jp/ait/articles/1411/05/news025.html | |
# | |
Import-Module ScheduledTasks | |
# Configrations | |
$MPCMD_PATH = 'C:\Program Files\Windows Defender\MpCmdRun.exe' | |
$MPCMD_ARGS = '-SignatureUpdate -MMPC' | |
$TASK_PATH = '\' | |
$TASK_NAME = 'Windows Defender Update' | |
$TASK_INTERVAL = '01:00:00' | |
# Check Registered Task | |
try | |
{ | |
Get-ScheduledTask -TaskName $TASK_NAME -TaskPath $TASK_PATH -ErrorAction Stop | Out-Null | |
# Delete Old Task | |
Write-Host ("タスク ""{0}{1}"" は既に登録されています。" -F $TASK_PATH, $TASK_NAME ) -ForegroundColor 'Yellow' | |
Write-Host ("タスク ""{0}{1}"" を削除します..." -F $TASK_PATH, $TASK_NAME ) -ForegroundColor 'Yellow' | |
Unregister-ScheduledTask -TaskName $TASK_NAME -TaskPath $TASK_PATH -Confirm:$false | |
} | |
catch | |
{ | |
# No Task Registered. | |
} | |
# Register Task + Run Immediately | |
try | |
{ | |
Write-Host ("タスク ""{0}{1}"" を登録します..." -F $TASK_PATH, $TASK_NAME ) | |
$Trigger = New-ScheduledTaskTrigger -Once -At '00:00:00' -RepetitionInterval $TASK_INTERVAL -RepetitionDuration ([Timespan]::MaxValue) | |
$Action = New-ScheduledTaskAction -Execute $MPCMD_PATH -Argument $MPCMD_ARGS | |
Register-ScheduledTask -TaskName $TASK_NAME -TaskPath $TASK_PATH -User 'System' -RunLevel Highest -Trigger $Trigger -Action $Action -ErrorAction Stop | Start-ScheduledTask | |
Write-Host 'タスクを登録しました。' | |
} | |
catch | |
{ | |
Write-Host 'タスクの登録に失敗しました。' -ForegroundColor 'Red' | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment