Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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
You can’t perform that action at this time.