Изменить исполняемый файл службы
Я хочу изменить путь к исполняемому файлу для службы из командной строки.
Как я могу это сделать?
Я хочу запустить еще один .EXE из пути этого сервиса к исполняемому файлу.
Если ответ Дейва не тот, который вам нужен, пожалуйста, воспользуйтесь ссылкой «изменить», чтобы объяснить немного больше?
Вы можете использовать sc config команду, чтобы изменить путь, на который указывает сервис:
Это обновит вызванную службу YourServiceName и изменит запись «Путь к исполняемому файлу» на C:\SomeDirectory\YourFile.EXE . После этого вы захотите перезапустить свой сервис, что вы можете сделать с помощью:
Если вы перемещаете конфигурацию MySQL (.ini) на другой диск. Вы можете пропустить внутренние цитаты. Просто оберните всю измененную строку в одну пару двойных кавычек. Переместил мой .ini и папку с данными на диск D: на Win7.
Как насчет того, когда Path to executable также содержит кавычки и другие параметры? Например: "C:\Program Files\CollabNet\Subversion Server\svnserve.exe" --service -r "E:\Repositories" --listen-port "3690" мне, к сожалению, пришлось пройти путь regedit для этого.
@James - Я почти уверен, что ты сможешь избежать этих персонажей, но мне придется поиграть с этим и вернуться к тебе.
Вам нужно будет сделать это в реестре:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
Перейдите к сервису, затем измените имя изображения, чтобы отразить новый путь
Как всегда, сделайте резервную копию системы ПРИОР.
Вы также можете сделать это с помощью PowerShell:
(например, для C: \ Program Files (x86) \ YourService \ YourProcess.exe)
Вы можете сделать следующее из powershell от имени администратора:
Это даст вам следующий результат:
. кровавые аргументы и экранирование параметров - это кошмар! Надеюсь, это поможет кому-то в будущем.
Вы не можете напрямую редактировать свой путь для выполнения услуги. Для этого вы можете использовать команду sc,
Откройте командную строку с правами администратора и введите следующую команду:
: - Вы выглядите так же, как LittleBobbyTables, если вы можете детализировать разницу, пожалуйста. Чтение Как ответить и тур всегда хороши время от времени.
В данной статье будет рассказано о том, как отредактировать параметры запуска служб в Windows на примере службы «Агент сервера 1С:Предприятия 8.3». Будет показано как настроить тип запуска служб, изменить учетные данные для запуска службы, а также изменить параметры запуска исполняемого файла службы.
0. Оглавление
0. Оглавление
Добавление службы вручную с помощью манифеста
При добавлении службы в приложение вручную необходимо Добавить службу в манифест приложения. Для этого требуется ограниченная возможность добавления в приложение.
1. Изменение настроек запуска службы
Предположим у нас имеется работающая служба, пусть это будет «Агент сервера 1С:Предприятия 8». Для того что бы отредактировать свойства запуска данной службы перейдем в оснастку «Службы» (Services).
В Microsoft Windows Server 2012 эту оснастку можно найти в Диспетчере серверов (Server Manager), пункт меню «Средства» (Tools) — «Службы» (Services).
В Microsoft Windows Server 2008 R2 в меню «Пуск» (Start) — «Администрирование» (Administrative Tools) — «Службы» (Services)
Ну или в любой версии Windows можно выполнить команду services.msc. Для этого необходимо нажать комбинацию клавиш Win + R, в открывшемся окне «Выполнить» (Run) ввести имя команды в поле «Открыть» (Open) и нажать «ОК».
Далее в открывшейся оснастке, в списке служб находим службу, параметры запуска которой необходимо отредактировать.
Кликаем два раза по имени службы, чтобы открыть ее свойства. В окне свойств службы можно отредактировать нижеперечисленные параметры запуска службы.
На закладке «Общие» (General) можно настроить тип запуска службы (Startup type) — Автоматически (Automatic), Вручную (Manual), Отключена (Disabled) или Автоматически (отложенный запуск) (Automatic (Delayed Start)), выбрав соответствующий вариант из списка. А также возможно Остановить (Stop), Приостановить (Pause) или Запустить (Start) данную службу.
На закладке «Восстановление» (Recovery) можно задать действия, которые будет выполнять система при сбое службы.
На закладке «Зависимости» (Dependencies) можно настроить зависимость запуска службы от различных компонент системы.
2. Изменение параметров запуска исполняемого файла службы
В окне свойств службы, на закладке «Общие» (General) возможно просмотреть путь к исполняемому файлу службы, а также увидеть передаваемые для его запуска параметры.
Однако эта информация доступна только для чтения. Изменить строку запуска исполняемого файла службы можно с помощью системного реестра Windows.
Для запуска системного реестра, следует выполнить команду regedit.exe. Для этого необходимо нажать комбинацию клавиш Win + R, в открывшемся окне «Выполнить» (Run) ввести имя команды в поле «Открыть» (Open) и нажать «ОК».
В первую очередь при работе с реестром Windows необходимо сделать бэкап, выполнив экспорт всего реестра.
После этого в дереве папок слева переходим по пути:
Затем в списке выделим группу с именем службы, свойства которой необходимо отредактировать. При этом, в окне справа увидим все параметры данной службы.
Кликаем 2 раза по имени параметра, который необходимо изменить и вводим новое значение.
Например, пусть нам необходимо запустить сервер «1С:Предприятие» в режиме отладки, т. е. добавить в строку запуска параметр -debug. Для этого меняем значение параметра ImagePath.
Нажимаем «ОК», для сохранения изменений и закрываем редактор реестра.
Перезапускаем службу для того, чтобы изменения вступили в силу. Сделать это моно также из оснастки «Службы» (Services), кликнув правой кнопкой мыши по имени службы в списке и выбрав в контекстном меню «Перезапустить» (Restart).
На этом все. Изменения вступили в силу, соответственно агент сервера запущен в режиме отладки.
Известные ограничения
Путь к исполняемому файлу служб (также называемый путем к изображению) в настоящее время недоступен для редактирования. Чтобы устранить проблемы с путем, необходимо вручную изменить путь к исполняемому файлу службы перед преобразованием установщика. Кроме того, после преобразования можно изменить манифест вручную с помощью редактора пакетов в средстве упаковки MSIX.
В настоящее время отчет о службах недоступен в редакторе пакетов. Необходимо вручную изменить манифест, чтобы внести изменения в службы, входящие в пакет MSIX.
В настоящее время не поддерживаются службы с зависимостями вне пакета.
Instructions
Чтобы преобразовать установщик, включающий службы, используйте средство упаковки MSIX, как и для любого пакета приложения. Выберите установщик со службами, и вы увидите страницу отчета службы перед последним шагом для создания пакета MSIX.
На странице отчета службы перечислены службы, обнаруженные в установщике во время преобразования. Службы, которые имеют всю необходимую информацию и поддерживаются, будут показаны в прилагаемой таблице. В исключенной таблице будут показаны службы, для которых требуется дополнительная информация, требуется исправление или не поддерживается.
- Имя ключа: Имя службы. Это недоступно для редактирования.
- Описание: Описание записи службы.
- Отображаемое имя: Отображаемое имя службы.
- Путь к изображению: Расположение исполняемого файла службы. Это недоступно для редактирования.
- Начальная учетная запись: Начальная учетная запись для службы.
- Тип запуска: Тип запуска службы. Поддерживает Автоматические, Ручные, Отключенныеи отложенные.
- Аргументы: Аргументы, которые будут запускаться при запуске службы.
- Зависимости: Зависимости для службы.
После того как служба будет исправлена, ее можно переместить в включенную таблицу или оставить в исключенной таблице, если ее не нужно использовать в окончательном пакете. Затем можно перейти к последнему шагу, чтобы создать пакет MSIX.
Смотрите также:
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
Ниже будет рассказано о том, как добавить новое правило в Брандмауэр Windows Server 2008 R2. А конкретнее, будем добавлять разрешающее правило для порта 1433, который использует Microsoft SQL Server 2008 R2 или, как…
Ниже приведена небольшая инструкция об изменении политики паролей в Microsoft Windows Server 2012 R2. По умолчанию политика паролей определена таким образом, что все пароли учетных записей пользователей должны удовлетворять следующим…
Как создать службу без сторонних программ?
Вот я, например, взял программу для создания служб, отследил изменения в реестре, по изменениям экспортировал все значения. После этого удалю ту же службу(через ту же программу) запускаю .reg файл и не удается записать в реестр по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceCurrent. Может надо по определённой последовательности записывать значение в реестр? Или можно создать через командную сроку?
Не большая сатья по "SC CREATE"
Примеры:
sc \\myserver create NewService binpath= "c:\windows\system32\NewServ.exe"
\\myserver - задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC ("\\myserver").
sc create NewService binpath= "c:\windows\system32\NewServ.exe" type= share start= auto depend= "Service"
Служба находится на вашем компьютере.
type=
own - Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами.
share - Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
kernel - Драйвер
filesys - Драйвер файловой системы
rec - Драйвер, определяющий файловую систему (указывает файловые системы, используемые на компьютере)
interact - Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью. Этот тип должен использоваться вместе с type= own или type= shared (например, type= interact type= own). Самостоятельное использование типа type= interact приведет к ошибке недопустимого параметра.
start= - Указывает тип запуска для службы. Тип запуска по умолчанию start= demand.
boot - Драйвер устройства, который загружается загрузчиком системы
system - Драйвер устройства, который запускается при инициализации ядра
auto - Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь
demand - Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start=
disabled - Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска
binpath= имя двоичного пути
Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать.
group= группа порядка загрузки
Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым.
tag=
Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы.
depend= зависимости
Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/).
obj=
Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер.
displayname= отображаемое имя
Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса.
password= пароль
Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система».
Как создать службу без сторонних программ?
Вот я, например, взял программу для создания служб, отследил изменения в реестре, по изменениям экспортировал все значения. После этого удалю ту же службу(через ту же программу) запускаю .reg файл и не удается записать в реестр по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceCurrent. Может надо по определённой последовательности записывать значение в реестр? Или можно создать через командную сроку?
Не большая сатья по "SC CREATE"
Примеры:
sc \\myserver create NewService binpath= "c:\windows\system32\NewServ.exe"
\\myserver - задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC ("\\myserver").
sc create NewService binpath= "c:\windows\system32\NewServ.exe" type= share start= auto depend= "Service"
Служба находится на вашем компьютере.
type=
own - Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами.
share - Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
kernel - Драйвер
filesys - Драйвер файловой системы
rec - Драйвер, определяющий файловую систему (указывает файловые системы, используемые на компьютере)
interact - Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью. Этот тип должен использоваться вместе с type= own или type= shared (например, type= interact type= own). Самостоятельное использование типа type= interact приведет к ошибке недопустимого параметра.
start= - Указывает тип запуска для службы. Тип запуска по умолчанию start= demand.
boot - Драйвер устройства, который загружается загрузчиком системы
system - Драйвер устройства, который запускается при инициализации ядра
auto - Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь
demand - Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start=
disabled - Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска
binpath= имя двоичного пути
Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать.
group= группа порядка загрузки
Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым.
tag=
Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы.
depend= зависимости
Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/).
obj=
Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер.
displayname= отображаемое имя
Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса.
password= пароль
Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система».
Windows 10, версия 2004, предоставляет поддержку для запуска пакета MSIX, который включает в себя службы. С помощью средства упаковки MSIX можно получить существующий установщик со службами и преобразовать его в MSIX. Эта поддержка относится к выпуску MSIXing Tool(1.2019.1220.0) за январь 2020. Получив пакет MSIX со службой, ему потребуются права администратора для установки на компьютере.
Читайте также: