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

SCCM 2012: Как правильно обновлять содержимое приложения?

Недавно я установил новую среду SCCM 2012 на своем рабочем месте, и теперь мы создаем наши приложения для распространения.

Некоторые приложения настраиваются с помощью скрипта. Когда во время тестирования что-то пошло не так и нужно изменить содержимое приложения. Точка распространения продолжает предоставлять клиентам старый контент.

Мне было интересно, какова правильная процедура обновления DP, когда содержимое приложения изменяется. Я пробовал распространять на точки распространения и удалять старые версии, но безуспешно.

В пакете есть опция отключения пользователей, чтобы sccm мог обновить пакет. Это происходит со всеми пакетами или только с одним?

Обновить

Думаю, я знаю, что происходит. Я никогда не использовал опцию перераспределения, потому что никогда не видел смысла, теперь мне любопытно и это сообщение в блоге подтвердил мою теорию, что это больше для ремонта, а не для обновления пакета. Он копирует пакет из третьего места (не из источника пакета, например обновления точки распространения) в DP, что мы не хотим делать.

Чтобы обновить DP, выделите свой пакет и нажмите выделенную кнопку на моем снимке экрана.

2-е обновление

При работе с приложениями App-v, если мне нужно обновить содержимое, как только я помещаю его в каталог, из которого sccm будет его копировать, я выделяю пакет, затем перехожу на вкладку «Типы развертывания», затем в верхней части я нажимаю на «Обновить содержимое» и следуйте подсказкам. Я могу подтвердить, что это работает. В моем конкретном приложении это устанавливается из каталога приложений, но приложения, рекламируемые на машине, должны работать так же.

просто написал небольшой сценарий PowerShell, который обновляет все приложения:

try
{
$DPGroup = "PTB"
Get-Wmiobject -Namespace "root\SMS\Site_ptb" -Class SMS_Application -Filter "isLatest='true' and isExpired='false'" | foreach{
           $name = $_.LocalizedDisplayName
           echo "Application : $name"
           $dptypes = Get-CMDeploymentType -ApplicationName "$name"
           foreach ($dpt in $dptypes){
                $dptname = $dpt.LocalizedDisplayName
                echo "Deployment Type: $dptname"
                Update-CMDistributionPoint -ApplicationName "$name" -DeploymentTypeName "$dptname"
                }
           }
}
catch
{
    $_.Exception.Message
}