Запрос PowerShell WSUS не использует все классификации - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь автоматизировать некоторые вещи WSUS с помощью powershell!

Когда я запускаю эту команду:

Get-WSUSClassification -WSUSserver MyServer

Результат, как и ожидалось: У нас есть все эти классификации:

Title              ID                                  
-----              --                                  
Applications       5c9376ab-8ce6-464a-b136-22113dd69801
Critical Updates   e6cf1350-c01b-414d-a61f-263d14d133b4
Definition Updates e0789628-ce08-4437-be74-2495b842f43b
Driver Sets        77835c8d-62a7-41f5-82ad-f28d1af1e3b1
Drivers            ebfc1fc5-71a4-4f7b-9aca-3b9a503104a0
Feature Packs      b54e7d24-7add-428f-8b75-90a396fa584f
Security Updates   0fa1201d-4330-4fa8-8ae9-b877473b6441
Service Packs      68c5b0a3-d1a6-4553-ae49-01d3a7827828
Tools              b4832bd8-e735-4761-8daf-37f882276dab
Update Rollups     28bc880e-0592-4cbf-8f95-c79b17911d5f
Updates            cd5ffd1e-e932-4e3a-bf74-18bf0b1bbd83
Upgrades           3689bdc8-b205-4af4-8d4a-a63924c5e9d5

Однако: если я пытаюсь использовать любое другое, кроме «Все», «Критическое», «Безопасность» или «WSUS»,

 get-wsusUpdate -approval UnApproved -Classification "Drivers" -status Needed -updateserver MyWSUS

Я получаю следующую ошибку:

Get-WsusUpdate : Cannot bind parameter 'Classification'. Cannot convert value "Feature Packs" to type "Microsoft.UpdateServices.Commands.WsusUpdateClassifications". Error: "Unable to match the identifier name Feature Packs to a valid enumerator name. Specify one of the following enumerator names and try again: All, Critical, Security, WSUS"

Есть идеи?

1 Ответ

0 голосов
/ 16 октября 2018

Это случай плохой терминологии.Есть классификации WSUS и классификации обновлений WSUS, и это разные вещи.Вы уже знаете, как просмотреть параметры для первого использования Get-WsusClassification.Вы можете просмотреть действительные параметры для последнего, используя [enum]::GetNames(<EnumType>), например:

PS C:\Windows\system32> [enum]::GetNames([Microsoft.UpdateServices.Commands.WsusUpdateClassifications])
All
Critical
Security
WSUS

Итак, можем ли мы получить обновления, классифицированные как пакеты Feature Pack?Мы можем, но единственный способ, который я знаю, - это прическа на ноги.Вот как я это сделаю:

$WSUS = Get-WsusServer
$FPClass = $WSUS.GetUpdateClassifications()|Where{$_.Title -eq 'Feature Packs'}
$FPClass.GetUpdates()

Теперь вы знаете GUID для желаемой классификации, поэтому вы можете сократить ее, если хотите использовать GUID:

$WSUS.GetUpdateClassification('b54e7d24-7add-428f-8b75-90a396fa584f').GetUpdates()

Это даст вам все обновления Feature Pack.Оттуда вы можете отфильтровать обновления, основываясь на том, были ли они заменены или не нужны.

Лично я считаю, что сами объекты гораздо более полезны, чем командлеты для WSUS, например $WSUS выше, для получения классификаций обновлений, из которых можно получить обновления для этой классификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...