powershell - 调用 WMIMethod - 未找到引发错误 - SCCM CCM 操作
问题描述
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)
全部抛出 Not Found 错误。
有任何想法吗?这些被取代了吗?
解决方案
{00000000-0000-0000-0000-000000000026}
并且{00000000-0000-0000-0000-000000000027}
是特定于用户的,并且似乎已更改为依赖于 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,每个都-
替换为 a_
您可以像这样为登录用户获取它们:
$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 消息也是如此,所以我不知道问题可能是什么。
推荐阅读
- sql-server - 如何在生产服务器上创建 SQL Server 数据库
- php - 验证管理员是否登录 php
- java - 如何动态自定义日期格式的反序列化器?
- java - 多个setText java之间的延迟
- javascript - jquery 在 html 脚本标签中不起作用
- php - PHP中文件上传If语句的测试错误
- r - 求解具有 12 个变量的约束方程
- android - 将构建类型(“debug”/“release”)传递给 ndk-build
- r - 使用 difftime + 减法运算符时出现错误“必须提供原点”在不同的分钟内不起作用
- javascript - React 博客网站的管理仪表板