Общий сбой WMI при попытке удалить обновления программного обеспечения из пакета развертывания SCCM - PullRequest
0 голосов
/ 04 ноября 2011

Я использую SCCM 2007 и Powershell для автоматизации некоторых мирских задач в моей среде.Одна из этих задач - удалить все устаревшие или замененные обновления во всех моих пакетах развертывания.Я просмотрел документацию Microsoft для класса WMI SMS_SoftwareUpdatesPackage и метод 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 голосов
/ 04 марта 2012

«Решением» для этого было просто установить $ ErrorActionPreference в SilentlyContinue, чтобы пропустить этот сбой. После того, как я добавил это, он успешно удалил все обновления, которые я хотел.

...