От новичка до гуру: Курсы программирования на CyberDuff

Установка из командной строки с помощью SCCM 2012

У меня есть несколько приложений, которые я пытаюсь развернуть с помощью SCCM 2012, но установка не проходит через каталог приложений. Итак, что у меня есть для типа развертывания, так это установщик сценария. У меня "cmd.exe" (Без кавычек) в поле "Программа установки" и "Installer.bat" в поле "Начало установки".

Когда я смотрю на папку ccmcache, все содержимое этого приложения есть, но следующая ошибка отображает Центр программного обеспечения:

 0x8007010B(-217024629)

Я кое-что прочитал в Интернете, и «10B» — это обычная ошибка командной строки для недопустимого каталога. Я протестировал пакетный файл при жестком кодировании пути, но мой вопрос в том, как я могу отредактировать пакетный файл или SCCM, чтобы извлечь из пути CCMCache, куда файлы загружаются на локальном клиенте? В настоящее время пакетный файл просто:

 @echo off
 ApplicationName.exe

Мне нужно отредактировать файл, чтобы перейти в папку CCMCache, где находятся файлы? Как я могу получить пакетный файл для запуска исполняемого файла, загруженного в папку CCMCache?

Спасибо!


  • Пакетный файл не знает, где находится .exe, поэтому вы должны сообщить ему, 1. добавив путь к .exe в системную переменную PATH, или 2. явно перейдя в содержащий каталог, используя cd /D, или 3. вызвав .exe по его полному пути, например "D:\path\to\CCMChache\folder\ApplicationName.exe". 28.06.2018
  • Спасибо за ответ. Папка CCMCache всегда меняется. Как я могу жестко закодировать это? 28.06.2018
  • Я понимаю. Можно как-то запросить местоположение? Или там только одна папка CCMCache, чтобы ее можно было искать скриптом? Или, если их может быть несколько, можно ли использовать тот, который содержит самый последний файл .exe? 28.06.2018
  • Существует только одна папка CCMCache, но каждая вложенная папка отличается. У нас есть папка с нашим образом, поэтому она есть на каждой машине в нашей среде. Есть ли в SCCM способ заставить его загрузить и поместить необходимые файлы в другое место? 28.06.2018
  • Извините, я не могу помочь с SCCM, я могу помочь только с частью пакетного файла... 28.06.2018
  • Я не уверен, что понимаю это правильно. Обычно, если ApplicationName.exe является частью вашего исходного кода, sccm всегда будет загружать его в ту же папку, что и ваша летучая мышь, поэтому относительные пути должны работать таким образом, что, если летучая мышь может работать из вашего источника, она также будет запускаться из вашего ccmcache. Так что я бы проверил настройки sccm, если что-то там не так, а не возился с битой. Если вы действительно хотите изменить bat, переменная %~dp0 даст вам путь, из которого выполняется пакетный файл, поэтому оттуда вы можете создать абсолютный путь, который все еще зависит от местоположения, из которого он запускается. 29.06.2018
  • Так мне нужен командный файл? Если я просто настроил развертывание так, чтобы оно указывало на исполняемый файл, нужен ли командный файл? 02.07.2018
  • Если вы просто хотите выполнить одну настройку с параметрами, вам не нужен какой-либо скрипт. Вам нужна только летучая мышь (или vbs или ps1), если вы хотите что-то изменить до или после установки или вам нужны какие-то сложные условия. Если вы не используете sccm, вы можете выполнить любую настройку без проблем. 05.07.2018

Ответы:


1

В вашем скрипте должен быть указан полный путь к установке

@эхо выкл.

\\путь к .exe

То, как написана команда, не сможет найти файл .exe. Вам нужно добавить полный путь unc к .exe в ваш .cmd файл. У вас должны быть установочные файлы .exe и .cmd в одном и том же месте на дистрибутивном общем ресурсе.

16.07.2018

2

Рекомендуемое решение:

Прежде чем начать, поскольку вы запускаете только исполняемый файл с пакетным файлом, я бы рекомендовал просто использовать ApplicationName.exe в качестве параметра командной строки в SCCM вместо использования пакета. Это избавит от необходимости заниматься дальнейшим проектированием.

Изменение существующего решения для работы:

Если вы все еще хотите использовать пакетный файл, имейте в виду несколько вещей. Синтаксис, который вы используете для запуска пакетного файла, не будет работать. Я бы рекомендовал просто использовать имя командного файла «installer.bat» в качестве командной строки. Если вы все еще хотите предварить пакет cmd.exe, вам обязательно нужно использовать переключатель /c с ним.

cmd.exe /c installer.bat

Если вы не используете /c, хост консоли откроется только для приглашения и не выполнит ваш пакет.

Однако это не идеальное решение, поскольку использование «cmd.exe /c» установит ваш рабочий каталог в расположение cmd.exe (т. е. «C:\windows\system32»), а поскольку ваш контент находится в ccmcache, вы необходимо указать его местоположение в вашем пакете. Для этого вы должны использовать переменную %~dp0, которая дает вам каталог, из которого выполняется текущий пакет. Это означает изменение вашей партии для чтения

@echo off
%~dp0ApplicationName.exe
19.07.2018
Новые материалы

Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

5 простых концепций Python, ставших сложными
#заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

«Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

Игра в прятки с данными
Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..