SCCM任务序列重启后继续执行及离线部署方案咨询
针对BlackLotus漏洞缓解措施的离线自动化部署方案
核心结论
支持离线部署步骤,可通过PowerShell脚本实现重启后自动续执行,无需依赖域连接。
具体实现方法
1. 重启后自动续跑的PowerShell脚本配置
- 利用Windows的任务计划程序,在脚本执行前创建一个触发条件为「系统启动后」的任务,指定运行后续的缓解措施脚本。
- 脚本执行流程:
- 先运行前置脚本:完成初始缓解步骤(比如修改启动配置、启用Secure Boot相关设置),然后创建任务计划。
- 任务计划的操作设置为运行后续脚本,脚本路径指向本地存储的离线脚本文件(需提前放到本地,比如
C:\Temp\BlackLotus_Mitigation_PostReboot.ps1)。 - 重启系统,任务计划触发后自动执行后续步骤,全程无需域连接。
- 关键代码示例:
# 创建重启后执行的任务计划 $taskAction = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Temp\BlackLotus_Mitigation_PostReboot.ps1" $taskTrigger = New-ScheduledTaskTrigger -AtStartup $taskPrincipal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest Register-ScheduledTask -TaskName "BlackLotus_Mitigation_PostReboot" -Action $taskAction -Trigger $taskTrigger -Principal $taskPrincipal -Force
2. SCCM任务序列的离线适配
- 在SCCM任务序列中,将缓解措施拆分为「重启前步骤」和「重启后步骤」:
- 重启前步骤:部署本地脚本到客户端(通过SCCM的「分发内容」功能,将脚本包推送到本地缓存),然后运行前置脚本创建任务计划,最后执行重启。
- 重启后无需依赖SCCM的域连接触发,而是通过本地任务计划自动执行后续缓解步骤,完成后可再通过脚本向SCCM发送状态更新(如果需要)。
- 注意:确保SCCM推送的内容已提前缓存到客户端本地,避免重启后因离线无法拉取文件。
关键注意事项
- 脚本需以SYSTEM权限运行,确保修改启动配置等敏感操作的权限。
- 所有缓解相关的文件(脚本、工具)必须提前部署到客户端本地路径,避免依赖网络下载。
- 完成后记得清理创建的任务计划,避免重复执行:
Unregister-ScheduledTask -TaskName "BlackLotus_Mitigation_PostReboot" -Confirm:$false
内容的提问来源于stack exchange,提问作者kDex
相关产品推荐
相关产品推荐

