Как найти пользователей сервера WMI класса SMS_FullCollectionMembership - PullRequest
1 голос
/ 20 марта 2019

Мне нужно, чтобы все пользователи были частью collecionID на сервере SCCM

Переменные

$CollectionID = COLLID046
$SiteCode = XYZ
$SiteServer = SITEXYZ0
$Users = Get-WmiObject -Class SMS_FullCollectionMembership -Namespace root/SMS/site_$($SiteCode) -ComputerName $SiteServer | Where-Object -FilterScript {$_.CollectionId -eq $CollectionID} | Select-Object SMSID

Это нормально работает и возвращает всех пользователей, но имеет побочный эффект: если у вас много collectionID, то предложение where обведет всю коллекцию перед тем, как найти тот, который вы ищете, и может занять много времени.

Есть способ указать прямо на конкретную коллекцию?

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Для каждой коллекции должен быть класс с именем SMS_CM_RES_COLL_ [collid].Я не уверен, что в нем есть та же информация, что и в SMS_FullCollectionMembership, но для того, чтобы узнать, кто является участником, этого должно быть достаточно.

0 голосов
/ 21 марта 2019

Я предпочитаю этот метод:

Get-CMCollectionMember -CollectionId <Collection ID> | Select-Object -ExpandProperty Name

Вот ссылка на всю информацию о командлете Get-CMCollectionMember.

...