Всем привет.
Программное обеспечение в SCCM Current Branch можно установить как Application (Приложение) или классически как Program (Пакет).
Считается что установка программного обеспечения с помощью Application (Приложение) является более гибкой в настройках. Разницу между Application (Приложение) и Program (Пакет) вы можете наблюдать на скриншоте.
В тоже время в настройках Application (Приложение) необходимо указать:
- обязательно: требования к операционному окружению целевого хоста (Global Conditions),
- обязательно: указать метод проверки наличия уже установленного ПЗ на целевом хосте (Detection method),
- не обязательно: провести проверка необходимого сопутствующего ПЗ, если таковое отсутствует то происходит его пред-инсталирование (Dependecies),
- и наконец, если все что заявлено выше соответствует требованиям то выполняется установка самого Приложения. Ура!
Если вас интересуют подробности то вот отличный подкаст про SCCM Current Branch и установку софта методом Application(Приложение):
Замечу что методом Приложение все правильно раскладывается по полочкам только в случае наличия установочного MSI-модуля самого ПЗ. Если же вы используете для установки скрипт (VB, Powershell) или ЕХЕ-модуль то многие параметры в процессе создания Application вам придется указывать вручную и знать их вам надо заранее. Тут уж мастер SCCM вам не помощник.
Поэтому в таком случае стоит обратить свой взор на установку ПЗ через Program (Пакет). Он проще в создании, хотя и менее гибок. Вот отличный подкаст про SCCM Current Branch и установку методом Program(Пакет).
При использовании метода Program(Пакет) у вас не будет возможности отследить последовательность его выполнения, а также для деинсталяции софта в будущем вам придется писать новый скрипт также как будто бы этот софт устанавливался вручную или через GPO, т.е. без SCCM.
На сегодня все. Успехов.
Деплой мониторим по журналам C:\windows\CCM\Logs: AppIntenEval.log, AppDiscovery.log, AppEnforce.log.
ReplyDeleteНа тот случай если sccm-клиент скушал старый сертификат надо прогнать следующий скрипт:
ReplyDelete[DateTime]$Date = (Get-Date -Format 'yyyy-MM-dd')
$CompName = ($env:ComputerName).ToUpper()
$Certs = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject.ToUpper() -like "*$CompName*" -And $_.EnhancedKeyUsageList -like "*Client Authentication*" -And $_.FriendlyName -eq ""} | Sort-Object NotBefore -Descending
ForEach ($Cert in $Certs) {
If ($Cert.NotBefore -lt $Date) {
# Removing Old Certificate"
Remove-Item -Path Cert:\LocalMachine\My\$($Cert.PSChildName) -Force
}
}