SCCM OSD Проблемы

У меня есть шаг "Запуск сценария PowerShell" в последовательности задач экранного меню.

Этот сценарий копирует некоторые файлы в папку, а затем запускает исполняемый файл.

Если я использую ROBOCOPY для копирования файлов, я получаю код выхода 1 (файлы скопированы нормально) и исполняемый файл запускается, делает то, что ему нужно, и успешно завершает работу.

Если я использую XCOPY (внешний вызов) или Copy-Item (PS Cmdlet) - файлы по-прежнему копируются и помещаются в правильное место, выход с кодом 0, но исполняемый файл не запускается и не выполняет то, что имел в виду к.

Есть идеи?

Пример кода (не работает:)

if (!(Test-Path "C:\Installs\sx1install")){New-Item -ItemType Directory -Path "C:\Installs\sx1install" -Force}
Copy-Item . C:\Installs\sx1install -Recurse -Force
.\setup.exe /s /f1"c:\installs\sx1install\setup.iss"

За работой:

robocopy .\ C:\Installs\sx1install /E /R:0 /W:0
.\setup.exe /s /f1"c:\installs\sx1install\setup.iss"

В обоих случаях папка C:\Installs\sx1install создает, заполняется всеми необходимыми файлами и папками (включая подпапки и т. Д.), Но setup.exe не работает в первом примере.

Что в робокопии делает эту работу / не работает?

Неработающий скрипт отлично работает один раз в Windows, выполняя set-location для расположения пакета скрипта, а затем выполняется.

Нам нужно попытаться найти способ заставить это выполнить и вернуть 0, поскольку код возврата 1 бомбардирует последовательность задач. Нам нужно остановить TS, если исполняемый файл возвращает 1, так как это критическая часть наших сборок, поэтому просто установка кодов успеха на 1 или продолжение или ошибка не являются выбором.

SCCM 2012 R2 CU3 // MDT 2012 // Развертывание 8.1 Pro через MDT OSD TS

1 ответ

Решение

Если с Robocopy все работает, почему вы беспокоитесь о Xcopy, почему бы просто не использовать тот, который работает?

Кроме того, почему вы вручную копируете файлы, а не просто создаете пакет или приложение, указываете исходное расположение этих файлов в качестве источника, а затем позволяете последовательности задач обрабатывать копирование файлов для подготовки к установке? Если вы беспокоитесь об указании полного (не относительного) пути к файлу автоматизации установки setup.iss, то просто указав "-s" в командной строке вашего setup.exe, он должен указать ему искать "setup.iss". msgstr "файл в той же папке, без необходимости указывать путь или имя файла (как журнал, так как они оба называются"setup.[exe|iss]". что сделало бы это:

.\setup.exe -s

Иначе, что говорят ваши файлы smsts.log, AppEnforce.log, execmgr.log во время сбоя?

Другие вопросы по тегам