是否有可设置为对特定集合和子集合运行“更新集合成员资格”的 Powershell 命令/脚本?如果没有 Powershell,除了右键单击集合并手动运行更新集合之外,还有其他方法吗?
答案1
我经常使用 WMI 来做这件事。简单的函数可以做到这一点:
$YourSCCMServer = '?'
$YourSite = '?'
$WMIStatic = @{
ComputerName = "$YourSCCMServer"
NameSpace = "root\sms\site_$YourSite"
}
function Update-Collection {
param ($Filter)
Get-WmiObject @WMIStatic -Class SMS_Collection @PSBoundParameters |
Invoke-WmiMethod -Name RequestRefresh
}
Update-Collection -Filter "CollectionID = 'SMS00001'"
您只需填写空白即可。然后编写一个包含您想要的集合的过滤器。
编辑:命名空间中的拼写错误,不确定第一个反斜杠来自哪里。顺便说一句:对于列表,最好包含通配符:-List Collection
不会返回任何结果,-List *Collection*
会。