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

Проблемы с экранным меню SCCM

У меня есть шаг «Выполнить сценарий PowerShell» в последовательности задач OSD.

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

Если я использую 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 не работает в первом примере.

Что такого в robocopy, что заставляет это работать / не работать?

Нерабочий сценарий отлично работает один раз в Windows, выполняя установку местоположения в расположение пакета сценария, а затем выполняя его.

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

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

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

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

.\setup.exe -s

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