为 WSUS 服务器定期运行清理向导
在 WSUS 的管理界面的 Options 里面,可以找到 Server Cleanup Wizard 然后运行。后来想了一下,为什么不把它弄成定期运行呢!
找了一下,从 Windows Server 2012 开始,这个向导可以通过 PowerShell 执行,具体命令是 Invoke-WsusServerCleanup,它的参数主要有这么几个:
- -CleanupObsoleteComputers
从数据库中删除长时间不报告状态的机器 - -CleanupObsoleteUpdates
从数据库中删除过时的更新 - -CleanupUnneededContentFiles
从硬盘中删除不需要的更新包 - -CompressUpdates
从数据库中删除相同更新的旧版 - -DeclineExpiredUpdates
拒掉已经过期的更新 - -DeclineSupersededUpdates
拒掉被替代的更新
还有一个是 -UpdateServer,可以指定要运行清理向导的服务器,具体 Server 可以通过 Get-WsusServer 获得。在本机运行不需要这个参数。
那么剩下的事情就是创建一个计划任务,然后运行这个命令了。目前在计划任务貌似不能直接运行 PowerShell 脚本,所以需要曲线救国:
- 创建一个 .ps1 文件,并在里面写好 PowerShell 脚本
- 在计划任务那个运行命令里面写 powershell -file "path\to\your.ps1"
搞定。
- DiryBoy
http://DiryBoy.cnblogs.com
http://DiryBoy.cnblogs.com