【问题标题】:PowerShell Move collection to another folder in SCCM?PowerShell 将集合移动到 SCCM 中的另一个文件夹?
【发布时间】:2018-08-30 16:41:53
【问题描述】:

我有一个在 SCCM 中创建集合的脚本,但我需要在“设备集合”下的子文件夹之一中创建它。我无法弄清楚如何使用 WMI 类移动集合。由于此脚本不在 SCCM 服务器本身上运行,因此我无法将 configmanager 模块用于Move-CMobject。有没有办法使用下面的 PowerShell 代码样式实现集合移动?

$CMCollection = ([WMIClass]”\root\sms\site_:SMS_Collection”).CreateInstance()
$CMCollection.name = $CollectionName
$CMCollection.LimitToCollectionID = “12345678”
$CMCollection.RefreshType = 2
$CMCollection.Put()

【问题讨论】:

    标签: powershell wmi sccm


    【解决方案1】:

    您需要SMS_ObjectContainerItem 类的方法MoveMembers。创建集合后(无法在正确的路径中创建 afaik)。

    powershell 代码是这样的:

    [Array]$DeviceCollectionID = <CollID>
    $TargetFolderID = <ContainerNodeID>
    $CurrentFolderID = 0
    $ObjectTypeID = 5000
    
    Invoke-WmiMethod -Namespace 'Root\SMS\Site_<SiteCode>' -Class 'SMS_objectContainerItem' -Name 'MoveMembers' -ArgumentList $CurrentFolderID,$DeviceCollectionID,$ObjectTypeID,$TargetFolderID
    

    要获取目标文件夹的 ContainerNodeID,您可以使用如下查询:

    select * from sms_objectcontainernode where objecttypeName = 'sms_collection_device' where Name =<your target folder name>
    

    我没有找到 ObjectIDTypes 的有效 ms 源,但从我自己的程序和几个示例中,我知道 5000 用于集合文件夹。如果您刚刚以编程方式创建了某些内容,则 CurrentFolderID 始终为 0,因为它将位于根目录中。对于现有文件夹,您可以按照与目标相同的方式来计算它。

    我还发现some code sample 的这个列表没有来源,但可能是正确的。

    Object type 2 - Package Folder
    Object type 7 - Query Folder
    Object type 9 - Software Metering Folder
    Object type 14 - Operating System Installers Folder
    Object type 17 - State Migration GFolder
    Object type 18 - Image Package Folder
    Object type 19 - Boot Image Folder
    Object type 20 - Task Sequence Folder
    Object type 23 - Driver Package Folder
    Object type 25 - Driver Folder
    Object type 2011 - Configuration Baseline Folder
    Object type 5000 - Device Collection Folder
    Object type 5001 - User Collection Folder
    Object type 6000 - Application Folder
    Object type 6001 - Configuration Item Folder
    

    如果您需要某些缺少的类型,您还可以查看 sms_objectcontainernode 实例并检查给定文件夹的类型

    【讨论】:

    • 谢谢!感谢您的帮助
    猜你喜欢
    • 2021-11-29
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多