我希望根据我们环境中的某些条件要求重新启动。目前,我们通过 WSUS 部署 Windows 更新,但不强制重新启动(由于我工作的环境类型,这已经存在很长时间了)。我们希望利用任务计划程序来运行执行以下操作的 PowerShell 脚本:
- 检查系统是否因 Windows 更新安装而需要重新启动。
- 如果是,请检查系统正常运行时间。
- 如果正常运行时间超过 15 天(或 10 天),则提醒用户,如果他们不自行重启,系统将在 5 天内自动重启。
- 每天重复警报一次,直到达到强制重启时间。
我不知道从哪里开始。我知道如何对系统正常运行时间进行 WMI 调用,但不知道如何对待处理的重新启动进行调用。Powershell 是否是处理此类问题的最佳工具,或者是否有更有效的第三方程序?
答案1
启动一个项目可能很困难,所以只需将其分解成各个组件即可。您如何检查待处理的重启?您将如何向用户发送消息?您将如何安排这一切?
https://gist.github.com/altrive/5329377应该可以帮助您开始所需的重新启动。
向用户发送消息可以很简单,msg * "This computer needs restarting"
或者您也可以用它Send-MailMessage
来向某人发送电子邮件。
您每天要如何测试呢?任务计划程序似乎是您的最佳选择,但您必须解决知道 5 天何时结束的问题。我建议将计数或日期保存在文件或注册表中的某个位置。
然后你只需要嵌套一堆 IF 语句就可以了 =)