我希望能够检查CCM更新计划,如Configuration Manager更新选项卡中所示。 我一直在寻找谷歌,我一直没能find一致的答案。
我试图使用UDA.CCMUpdatesDeployment创build一个COM对象。 这使我能够使用SetUserDefinedSchedule方法成功设置重复计划。 如果我尝试使用GetUserDefinedSchedule,我只能得到variables的原始值。
PS> $UD = New-Object -com "UDA.CCMUpdatesDeployment" PS> $A= 101 PS> $B= 102 PS> $UD.GetUserDefinedSchedule([ref]$A, [ref]$B) PS> $A 101 PS> $B 102 PS> $UD.GetUserDefinedSchedule MemberType : Method OverloadDefinitions : {void GetUserDefinedSchedule (Variant, Variant)} TypeNameOfValue : System.Management.Automation.PSMethod Value : void GetUserDefinedSchedule (Variant, Variant) Name : GetUserDefinedSchedule IsInstance : True
我实际上希望能够远程执行文本文件中的服务器列表,但现在任何方式都可以。
所以我是Powershell上的一个完整的新手。
我的variables应该已经被声明:
PS> [ref]$A = $Null PS> [ref]$B = $Null
那么这个命令应该已经运行了:
PS> $UD.GetUserDefinedSchedule($A,$B)
每个星期天凌晨3点的结果是:
PS> $A Value ----- 1 PS> $B Value ----- 3
第一个variables是下拉框中可用的各种选项的索引。 第二个variables包含24小时格式的时间。 所以下午3点会给价值15
浏览了一些PowerShell代码,我得到了答案。 我想通过引用传递作为一个C函数来更新相同的variables。 我还是不了解Powershell的概念。 如果我更新CCM并使用相同的variables运行该命令,则该值不会更改。
你可以放弃这个吗? 注意参数在Powershell中传递的方式。
$A = $null $B = $null $UD.GetUserDefinedSchedule ([ref]$A) ([ref]$B) write-host "Recurrence: $A" write-host "Hour: $B"