尝试从SCCM部署包中删除软件更新时WMI通用失败

时间:2011-11-04 16:04:21

标签: powershell sdk wmi sccm

我正在使用SCCM 2007和Powershell在我的环境中自动执行一些平凡的任务。其中一项任务是删除所有部署包中的所有已过期或已取代的更新。我已经查看了SMS_SoftwareUpdatesPackage WMI类的Microsoft文档以及您应该用于此功能的RemoveContent方法,但仍然会碰壁。

这是我目前正在使用的代码。

$x = gwmi SMS_SoftwareUpdatesPackage -computer sccm -namespace root\sms\site_unh -filter "PackageID = 'UNH00277'"
$array = @()
$array += 34827
$x.RemoveContent($array,$true)

非常简单,对吧?我已经尝试了很多不同的语法组合,我会发疯的。我一直在跟踪的唯一主要是我的数组数据类型可能不正确。根据文档,它应该是一个UInt32数组,但这只是一个预感。

1 个答案:

答案 0 :(得分:0)

对此的“解决方案”是简单地将$ ErrorActionPreference设置为SilentlyContinue以跳过此失败。在我添加之后,它成功删除了我想要的所有更新。