You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建用于自动重启IIS的PowerShell计划任务脚本?

解决计划任务中执行iisreset的配置问题

你的脚本存在两个核心问题,导致iisreset无法在计划任务中正常生效:

问题1:未指定iisreset的完整路径

直接使用iisreset作为执行命令时,计划任务的执行上下文可能无法通过系统PATH环境变量找到该程序,必须指定其完整路径C:\Windows\System32\iisreset.exe。

问题2:缺少管理员权限

重启IIS需要管理员权限,计划任务默认不会以最高权限运行,必须添加-RunLevel Highest参数确保权限足够。

另外你的脚本里存在一处描述不一致的小问题:触发器设置的是每周四18:33执行,但最后提示信息写的是周日1点,建议统一配置逻辑。

修改后的完整脚本

# 任务名称
$taskName = "RestartIIS"

# 创建触发器:每周四18:33执行
$taskTrigger = New-ScheduledTaskTrigger -Weekly -At 6:33pm -DaysOfWeek Thursday

# 创建执行动作:指定iisreset完整路径
$taskAction = New-ScheduledTaskAction -Execute "C:\Windows\System32\iisreset.exe"

# 检查任务是否已存在
$existingTask = Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue

if ($existingTask -ne $null) {
    Write-Host "警告!名为'$taskName'的任务已存在。将删除旧任务并创建新任务!" -ForegroundColor Yellow
    Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue
}

# 注册任务时指定最高运行权限
Register-ScheduledTask -TaskName $taskName -Action $taskAction -Trigger $taskTrigger -RunLevel Highest
Write-Host "任务$taskName已注册,将在每周四18:33执行!" -ForegroundColor Green

额外说明

  • 如果需要给iisreset添加参数(比如/noforce避免强制终止进程),可以在New-ScheduledTaskAction中追加-Argument "/noforce"参数。
  • 执行该PowerShell脚本本身也需要管理员权限,否则Register-ScheduledTask会因权限不足报错。

内容的提问来源于stack exchange,提问作者Vasil Dimitrov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:05:05