Invoke-WMIMethod - 抛出未找到的错误 - SCCM CCM 操作

Invoke-WMIMethod - Throws Error Not Found - SCCM CCM Actions

Invoke-WMIMethod -ComputerName $computer -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000026}"  | Out-Null
Invoke-WMIMethod -ComputerName $computer -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000027}"  | Out-Null
Invoke-WMIMethod -ComputerName $computer -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-0000000000113}"  | Out-Null
Invoke-WMIMethod -ComputerName $computer -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-0000000000108}"  | Out-Null)

全部抛出未找到错误。

有什么想法吗?这些是否已被取代?

{00000000-0000-0000-0000-000000000026}{00000000-0000-0000-0000-000000000027} 是用户特定的,似乎已更改为不同的 class,它依赖于 sid,因此您可以为任何用户调用它。最常见的称呼他们的例子是

$sched=([wmi]"root\ccm\Policy$sid\ActualConfig:CCM_Scheduler_ScheduledMessage.ScheduledMessageID='{00000000-0000-0000-0000-000000000026}'")
$sched.Triggers=@('SimpleInterval;Minutes=1;MaxRandomDelayMinutes=0')
$sched.Put()

其中 $sid 是用户 SID,每个 - 替换为 _ 您可以像这样为登录用户获取它们:

$sids = (get-wmiobject -query "SELECT UserSID FROM CCM_UserLogonEvents WHERE LogoffTime = NULL" -namespace "ROOT\ccm").UserSID.replace('-','_')

但是 {00000000-0000-0000-0000-000000000113}{00000000-0000-0000-0000-000000000108} 应该仍然适用于您使用的方法。为这些抛出 Not Found 错误的唯一原因是如果它们没有以提升的管理员权限执行,但这对于所有其他 TriggerSchedule 消息也是相同的,所以我不知道问题可能是什么。