【问题标题】:How to find a users of a SMS_FullCollectionMembership Server WMI Class如何查找 SMS_FullCollectionMembership 服务器 WMI 类的用户
【发布时间】:2019-03-20 19:48:20
【问题描述】:

我需要让所有用户成为 SCCM 服务器上 collecionID 的一部分

变量

$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 子句将在找到您正在查找的那个之前将所有集合圈起来,并且可能需要很长时间。

p>

有办法直接指向特定的集合吗?

【问题讨论】:

    标签: powershell wmi sccm


    【解决方案1】:

    我更喜欢这种方法:

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

    这是 Get-CMCollectionMember Cmdlet 上所有信息的 link

    【讨论】:

    • 是的,您需要确保在加载了 ConfigurationManager 模块的情况下连接到 CM 驱动器。最简单的方法是打开配置管理器,然后选择“与 PowerShell ISE 连接:docs.microsoft.com/en-us/powershell/module/configurationmanager/…
    • 您的建议需要导入模块ConfigurationManager.psd1。但是,如果我发出 PS:> Get-CMCollectionMember -CollectionId 'COLLID' | 也会导入一次Select-Object -ExpandProperty SMSID 我有这个错误。 “Get-CMCollectionMember:无法从当前驱动器运行此命令。要运行此命令,您必须首先连接到 Configuration Manager 驱动器。”似乎不适用于我的情况,因为我需要通过网络通过 WMI 运行脚本。
    • 您需要为配置管理器连接到 PS Drive。使用“通过 Windows PowerShell ISE 连接”选项可以获得加载模块并设置 PS 驱动器的脚本。
    • 是的!在服务器本身上工作正常。现在我需要将脚本移动到未安装管理控制台的另一台服务器上。为了导入模块 ConfigurationManager.psd1 我需要安装管理控制台吗?还是有其他办法?
    【解决方案2】:

    每个集合都应该有一个名为 SMS_CM_RES_COLL_[collid] 的类。 我不确定它是否具有 SMS_FullCollectionMembership 所拥有的所有相同信息,但只是为了了解谁是成员就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      相关资源
      最近更新 更多