为 WSUS 服务器定期运行清理向导

在 WSUS 的管理界面的 Options 里面,可以找到 Server Cleanup Wizard 然后运行。后来想了一下,为什么不把它弄成定期运行呢!

找了一下,从 Windows Server 2012 开始,这个向导可以通过 PowerShell 执行,具体命令是 Invoke-WsusServerCleanup,它的参数主要有这么几个:

  1. -CleanupObsoleteComputers
          从数据库中删除长时间不报告状态的机器
  2. -CleanupObsoleteUpdates
          从数据库中删除过时的更新
  3. -CleanupUnneededContentFiles
          从硬盘中删除不需要的更新包
  4. -CompressUpdates
          从数据库中删除相同更新的旧版
  5. -DeclineExpiredUpdates
          拒掉已经过期的更新
  6. -DeclineSupersededUpdates
          拒掉被替代的更新

还有一个是 -UpdateServer,可以指定要运行清理向导的服务器,具体 Server 可以通过 Get-WsusServer 获得。在本机运行不需要这个参数。

那么剩下的事情就是创建一个计划任务,然后运行这个命令了。目前在计划任务貌似不能直接运行 PowerShell 脚本,所以需要曲线救国:

  1. 创建一个 .ps1 文件,并在里面写好 PowerShell 脚本
  2. 在计划任务那个运行命令里面写 powershell -file "path\to\your.ps1"

搞定。

    posted @ 2016-09-08 14:42 DiryBoy 阅读(...) 评论(...) 编辑 收藏