Мне нужно определить, установлено ли уже приложение в sccm. Я искал, что могу использовать настраиваемый сценарий, который выполняет тест и возвращает статус установки в зависимости от кода выхода сценария.
У меня есть и .exe, который выполняет эту проверку, я создал этот сценарий PowerShell, который выполняет de .exe и возвращает true или false.
$program = ".\teststatus.exe"
$programArgs = "/output" , "console", "STATUS"
Invoke-Command -ScriptBlock { & $program $programArgs }
$LASTEXITCODE
if ($LASTEXITCODE -eq "0")
{
$true
}
else
{
$false
}
!! этот .exe включен в файлы приложения !!
¿У меня вопрос: какой путь я должен установить в переменной $ program, которая содержит расположение .exe в другом, чтобы выполнить его?
Приложения SCCM (в отличие от пакетов) могут использовать сценарии PowerShell для определения того, установлено ли приложение. Проблема, с которой вы столкнетесь, заключается в том, что не существует надежного способа гарантировать, что ваш файл обнаружения .exe будет доступен на целевом компьютере.
Если обнаружение .exe не будет частью содержимого для приложения, это не поможет, потому что содержимое не загружается на клиент, пока логика обнаружения не придет к выводу «не обнаружено».
Я думаю, вам будет лучше найти способ обнаружить приложение без .exe, используя либо базовую оболочку PowerShell, либо встроенные методы обнаружения.