Назад | Перейти на главную страницу

Можно ли получить расписание обновлений SCCM с помощью Powershell или VBScript?

Я хочу иметь возможность проверить расписание обновлений CCM, как показано на вкладке «Обновления Configuration Manager». Я искал в Google и не смог найти на этот вопрос однозначного ответа.

Я попытался создать COM-объект с помощью UDA.CCMUpdatesDeployment. Это позволяет мне успешно установить повторяющееся расписание с помощью метода SetUserDefinedSchedule. Если я попытаюсь использовать GetUserDefinedSchedule, я получу только исходные значения переменных.

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.

$A = $null
$B = $null
$UD.GetUserDefinedSchedule ([ref]$A) ([ref]$B)
write-host "Recurrence: $A"
write-host "Hour: $B"

Так что я новичок в Powershell.

Мои переменные должны были быть объявлены:

PS> [ref]$A = $Null
PS> [ref]$B = $Null

Тогда команду следовало запустить как:

PS> $UD.GetUserDefinedSchedule($A,$B)

Результат для каждого воскресенья в 3 часа ночи:

PS> $A
Value
-----
    1
PS> $B
Value
-----
    3

Первая переменная - это указатель различных опций, доступных в раскрывающемся списке. Вторая переменная содержит время в 24-часовом формате. Итак, 15:00 даст значение 15.

Я получил ответ, просматривая некоторый код PowerShell. Я думал о передаче по ссылке как о функции C для обновления той же переменной. Я до сих пор не понимаю концепцию Powershell. Если я обновляю CCM и запускаю команду с теми же переменными, значение не меняется.