如何使用PowerShell禁用远程服务器任务并修改任务的Description参数
计划任务批量禁用+修改描述实现方案
核心原理
Set-ScheduledTask 没有直接暴露修改任务描述的参数,你需要先获取目标任务的实例对象,修改其Description属性后再回写配置,即可完成描述更新,同时可搭配禁用参数实现一次性完成两个操作。
单设备操作示例
# 自定义配置项 $taskPath = "\自定义任务路径\" # 根路径可写为 "\" $taskName = "你的目标任务名称" $newDesc = "需要更新的新描述内容" # 获取任务对象 $task = Get-ScheduledTask -TaskPath $taskPath -TaskName $taskName # 修改描述 $task.Description = $newDesc # 回写配置同时禁用任务 $task | Set-ScheduledTask -Disable
多远程服务器批量操作示例
需要提前开启目标服务器的PowerShell远程管理权限,且当前执行账号拥有所有目标服务器的计划任务管理员权限:
# 批量操作配置 $serverList = @("服务器1IP/主机名", "服务器2IP/主机名", "服务器3IP/主机名") $targetTaskPath = "\自定义任务路径\" $targetTaskName = "你的目标任务名称" $newDescription = "需要更新的新描述内容" # 跨服务器批量执行 Invoke-Command -ComputerName $serverList -ScriptBlock { param( $taskPath, $taskName, $updateDesc ) $targetTask = Get-ScheduledTask -TaskPath $taskPath -TaskName $taskName -ErrorAction SilentlyContinue if($targetTask){ $targetTask.Description = $updateDesc $targetTask | Set-ScheduledTask -Disable | Out-Null Write-Host "服务器 $env:COMPUTERNAME 处理完成" }else{ Write-Host "服务器 $env:COMPUTERNAME 未找到目标任务" } } -ArgumentList $targetTaskPath, $targetTaskName, $newDescription
注意事项
- 若目标为系统内置任务,可能需要获取TrustedInstaller权限才能修改配置
- 批量操作前建议先使用单台测试验证参数配置正确,避免影响正常业务
- 部分老旧Windows Server版本需要先导入ScheduledTasks模块才能执行相关命令
内容的提问来源于stack exchange,提问作者Pooja Hegde
相关产品推荐
相关产品推荐

