Вопрос или проблема
Мне нужно запустить bat-файл на клиентском компьютере и собрать данные из общей папки. Общий путь с файлами и bat-файлом, настроенный в SCCM, но не работает, показывает ошибку, как “неудача, плохая среда”. Вручную bat-файл выполняется. Содержание bat-файла простое.
@ECHO OFF
ECHO %0
Net use q: \\mfs01\Tool\Tool\Standalone /persistent:yes
cd..
q:
KPG_Tool_V1.vbe
@pause
Используйте pushd
и popd
, чтобы перейти к нужным путям. Что-то вроде
pushd \\mfs01\Tool\Tool\Standalone
cscript KPG_Tool_V1.vbe
popd
В свойствах программы, на вкладке “Среда” вы выбрали “Только когда пользователь вошел в систему” и установили режим выполнения на права пользователей?
Ответ или решение
Ошибка "плохая среда" (bad environment) при запуске bat-файла через SCCM может быть связана с несколькими faktоры. Давайте разберем возможные причины и предложим решения для каждой из них.
1. Неверные условия выполнения
Контекст выполнения
Убедитесь, что для программы в SCCM правильно настроены параметры выполнения. На вкладке "Среда" (Environment) выберите:
- "Только когда пользователь вошел в систему" (Only when a user is logged on)
- Режим выполнения (Run Mode) должен быть установлен на Права пользователей (User Rights).
Эти параметры могут повлиять на доступность сети и пользовательские разрешения, что, в свою очередь, может вызвать ошибку "плохая среда".
2. Проблемы с сетью и доступом
Проверка доступа к общему ресурсу
Если bat-файл запускается нормально вручную, это может говорить о том, что файл имеет доступ к сетевому ресурсу, но SCCM может работать в другом контексте. Убедитесь, что у учетной записи, под которой запускается SCCM, есть доступ к общей папке на сервере (\mfs01\Tool\Tool\Standalone). Попробуйте:
- Выполнить
net use
в консоли с той же учетной записью, которая используется SCCM, чтобы убедиться, что доступ к ресурсу работает.
3. Улучшение кода bat-файла
Чтобы избежать проблем с изменением каталогов, используйте команды pushd
и popd
, как уже было предложено. Это обеспечит правильный переход в нужный каталог и возвращение обратно. Вот так выглядит модифицированный bat-файл:
@ECHO OFF
ECHO %0
REM Вход на общий ресурс
pushd \\mfs01\Tool\Tool\Standalone
REM Выполнение скрипта
cscript KPG_Tool_V1.vbe
REM Возврат в исходный каталог
popd
@pause
4. Тестирование и отладка
Для того чтобы диагностировать, где именно происходит сбой, рекомендуется добавлять отладочные сообщения. Например, после каждой важной команды можно добавить ECHO
:
@ECHO OFF
ECHO Starting script...
REM Проверка доступа к сети
pushd \\mfs01\Tool\Tool\Standalone || (ECHO Failed to access network location & exit /b 1)
ECHO Accessed network location.
cscript KPG_Tool_V1.vbe || (ECHO Script execution failed & popd & exit /b 1)
ECHO Script executed successfully.
popd
ECHO Finished script.
@pause
Заключение
Ошибки среды при запуске скриптов через SCCM часто связаны с правами доступа и контекстом выполнения. Убедитесь, что настройки SCCM соответствуют требованиям, а также добавляйте дополнительно отладочные коды в скрипты для более точного определения местоположения сбоя. Эффективное применение предложенных выше решений должно помочь вам устранить проблему "плохая среда" и успешно выполнять скрипты на клиентских компьютерах.