用 PowerShell 做定时任务
脚本要被计划任务调用,执行策略要先放开。Windows 服务器的很多故障表现相似,但成因完全不同,先分清范围再动手。
下面按“先判断范围、再处理、最后防复发”的顺序展开,涉及 PowerShell、定时任务 的关键动作都给了具体做法,可以照着走。
策略
Set-ExecutionPolicy RemoteSigned。
同一时间只改一项,改完立刻验证,出问题也好定位。
调用
powershell.exe -File 脚本路径。
容易踩的坑:另一个坑是照抄别人的参数,环境不同,参数就该重新算。
日志
脚本内写日志文件。
拿不准的时候先做备份再做变更,成本最低。
注意
不要用无签名脚本跑生产。
速查表
| 环节 | 关键动作 |
|---|---|
| 策略 | Set-ExecutionPolicy RemoteSigned |
| 调用 | powershell.exe -File 脚本路径 |
| 日志 | 脚本内写日志文件 |
| 注意 | 不要用无签名脚本跑生产 |
常见问题
Q:PowerShell这类问题,最快的判断办法是什么?
先确认现象的范围:只有单台还是全部、只在某个时段还是持续。范围一缩小,原因基本就浮出来了。
Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。
小结
回到这篇的四个环节:策略、调用、日志、注意。Windows 的问题离不开日志,习惯先看事件查看器,比反复重启有效。
相关阅读:PowerShell 常用命令、系统日志怎么清理、木马排查思路。