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 消息也是相同的,所以我不知道问题可能是什么。
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 消息也是相同的,所以我不知道问题可能是什么。