Как изменить исполняемый файл в службе
Как изменить путь исполняемого файла у службы в Windows
Ничего удалять не требуется, можно легко изменить путь к исполняемому файлу службы следующим образом:Заходим в редактор реестра операционной системы Windows. Можно использовать стандартный (родной) редактор реестра, для этого заходим в Пуск - Выполнить (или "Поиск" в более поздних версиях) - пишем regedit и жмём Enter. Открывается окно редактора реестра. Здесь идём по следующему адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ и тут ищем с списке название нужной вам службы. Выбираем службу и в правом окне редактора реестра ищем параметр с названием "ImagePath", нажимаем на нём и меню выбираем пункт "Изменить", открывается окно, в строке "Значение" пишем необходимое новое значение, это и есть путь к исполняемому файлу службы. Далее всё стандартно, OK и запуск службы.
В том, что параметр строки адреса изменился можно посмотреть так же в свойствах конкретной службы: Пуск - Панель управления - Администрирование - Службы.
Должно всё работать.
Редактирование параметров запуска служб в Windows
В данной статье будет рассказано о том, как отредактировать параметры запуска служб в Windows на примере службы «Агент сервера 1С:Предприятия 8.3». Будет показано как настроить тип запуска служб, изменить учетные данные для запуска службы, а также изменить параметры запуска исполняемого файла службы.
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) данную службу.
На закладке «Вход в систему» (Log on) можно настроить параметры учетной записи (account), от которой будет запускаться выбранная служба. Возможно настроить запуск от системной учетной записи (Local System account), или выбрать конкретного пользователя Windows, указав его имя и пароль.
На закладке «Восстановление» (Recovery) можно задать действия, которые будет выполнять система при сбое службы.
На закладке «Зависимости» (Dependencies) можно настроить зависимость запуска службы от различных компонент системы.
2. Изменение параметров запуска исполняемого файла службы
В окне свойств службы, на закладке «Общие» (General) возможно просмотреть путь к исполняемому файлу службы, а также увидеть передаваемые для его запуска параметры.
Однако эта информация доступна только для чтения. Изменить строку запуска исполняемого файла службы можно с помощью системного реестра Windows.
Для запуска системного реестра, следует выполнить команду regedit.exe. Для этого необходимо нажать комбинацию клавиш Win + R, в открывшемся окне «Выполнить» (Run) ввести имя команды в поле «Открыть» (Open) и нажать «ОК».
В первую очередь при работе с реестром Windows необходимо сделать бэкап, выполнив экспорт всего реестра.
После этого в дереве папок слева переходим по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Затем в списке выделим группу с именем службы, свойства которой необходимо отредактировать. При этом, в окне справа увидим все параметры данной службы.
Кликаем 2 раза по имени параметра, который необходимо изменить и вводим новое значение.
Например, пусть нам необходимо запустить сервер «1С:Предприятие» в режиме отладки, т. е. добавить в строку запуска параметр -debug. Для этого меняем значение параметра ImagePath.
Нажимаем «ОК», для сохранения изменений и закрываем редактор реестра.
Перезапускаем службу для того, чтобы изменения вступили в силу. Сделать это моно также из оснастки «Службы» (Services), кликнув правой кнопкой мыши по имени службы в списке и выбрав в контекстном меню «Перезапустить » (Restart).
На этом все. Изменения вступили в силу, соответственно агент сервера запущен в режиме отладки.
Смотрите также:
- Изменение политики паролей в Windows Server 2008 R2
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
- Добавление правила в Брандмауэр Windows Server 2008 R2
Ниже будет рассказано о том, как добавить новое правило в Брандмауэр Windows Server 2008 R2. А конкретнее, будем добавлять разрешающее правило для порта 1433, который использует Microsoft SQL Server 2008 R2 или, как…
- Изменение политики паролей в Windows Server 2012 R2
Ниже приведена небольшая инструкция об изменении политики паролей в Microsoft Windows Server 2012 R2. По умолчанию политика паролей определена таким образом, что все пароли учетных записей пользователей должны удовлетворять следующим…
Как изменить путь к исполняемому файлу для службы Windows?
Ответ, приведенный выше, прекрасно работает, я не могу ответить на него, но, чтобы сложить, в случае, если вам нужно иметь кавычки или другие аргументы в пути, скажем, чтобы исправить уязвимость пути без кавычек в реестре, такую как imagepath, вы может сделать следующее из CMD в качестве администратора:
(например, для C: \ Program Files (x86) \ YourService \ YourProcess.exe)
SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Вы можете сделать следующее из powershell от имени администратора:
SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Это даст вам следующий результат:
"C:\Program Files (x86)\YourService\YourProcess.exe"
... кровавые аргументы и экранирование параметров - это кошмар! Надеюсь, это поможет кому-то в будущем.
Изменение "пути к исполняемому файлу" службы windows
Я хотел бы изменить путь к моему приложению, но это нарушает его, потому что Служба все еще указывает на старое местоположение.
собирается Administrative Tools > Services
вы можете открыть диалоговое окно "Свойства" и посмотреть Path to executable
, но изменить его невозможно.
есть ли способ, которым пользователь может изменить путь службы без переустановки приложения ?
213
автор: GenericJon
7 ответов
есть еще этот подход видели на суперпользователя использует sc
командная строка вместо изменения реестре:
sc config <service name> binPath= <binary path>
Примечание: пробел после binPath=
важно. Вы также можете запросить текущую конфигурацию через:
sc qc <service name>
появится нечто похожее на:
[SC] QueryServiceConfig успех
ИМЯ_СЛУЖБЫ: Имя_службы
TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : C:\Services\ServiceName LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : <Display name> DEPENDENCIES : SERVICE_START_NAME : user-name@domain-name
184
автор: Niall Connaughton
Она включает в себя редактирование реестра, но информацию можно найти в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
. Найдите сервис, который вы хотите перенаправить, найдите ImagePath
подраздел и измените это значение.
278
автор: Matt McHugh
вы также можете сделать это с помощью PowerShell:
Get-WmiObject win32_service -filter "Name='My Service'" ` | Invoke-WmiMethod -Name Change ` -ArgumentList @($null,$null,$null,$null,$null, ` "C:\Program Files (x86)\My Service\NewName.EXE")
или:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" ` -Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"
9
автор: Greg Sansom
Open Run (win+R) , введите "Regedit.exe", чтобы открыть "редактор реестра", перейдите в
раздел HKEY_LOCAL_MACHINE\система\CurrentControlSet на\услуги
найти "apache2 не.4" открыть папку найдите "ImagePath "в правой части откройте" ImagePath" под "значение " положите следующий путь:
"C:\xampp\apache\bin\httpd.exe " - k runservice враг XAMPP для других укажите место, где установлен Apache, и внутри найдите папку bin " C: (установленное местоположение Apache)\bin\httpd.exe " - k runservice
1
автор: Antony Joseph
вы не можете напрямую редактировать свой путь, чтобы выполнить услуги. Для этого вы можете использовать команду sc,
SC CONFIG ServiceName binPath= "Path of your file"
например:
sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"
вы можете удалить этот сервис:
sc delete ServiceName
затем воссоздайте службу.
-1
автор: Kim Wilson
немного глубже с помощью команды " SC "мы можем извлечь все" имя служб "и получить все "QueryServiceConfig":)
>SC QUERY > "%computername%-services.txt" [enter] >FIND "SERVICE_NAME: " "%computername%-services.txt" /i > "%computername%-services-name.txt" [enter] >NOTEPAD2 "%computername%-services-name.txt" [enter]
сделать "маленький" NOTEPAD2 редактирования..
затем продолжите "CMD"..
>FOR /F "DELIMS= SKIP=2" %S IN ('TYPE "%computername%-services-name.txt"') DO @SC QC "%S" >> "%computername%-services-list-config.txt" [enter] >NOTEPAD2 "%computername%-services-list-config.txt" [enter]
Необработанные данные готовы для подачи "будущего пакетного файла", поэтому результат выглядит следующим образом!!!
+ -------------+-------------------------+---------------------------+---------------+--------------------------------------------------+------------------+-----+----------------+--------------+--------------------+ | SERVICE_NAME | TYPE | START_TYPE | ERROR_CONTROL | BINARY_PATH_NAME | LOAD_ORDER_GROUP | TAG | DISPLAY_NAME | DEPENDENCIES | SERVICE_START_NAME | + -------------+-------------------------+---------------------------+---------------+--------------------------------------------------+------------------+-----+----------------+--------------+--------------------+ + WSearch | 10 WIN32_OWN_PROCESS | 2 AUTO_START (DELAYED) | 1 NORMAL | C:\Windows\system32\SearchIndexer.exe /Embedding | none | 0 | Windows Search | RPCSS | LocalSystem | + wuauserv | 20 WIN32_SHARE_PROCESS | 2 AUTO_START (DELAYED) | 1 NORMAL | C:\Windows\system32\svchost.exe -k netsvcs | none | 0 | Windows Update | rpcss | LocalSystem |
но, HTML будет довольно проще : D
любые яркие идеи для улучшения приветствуются V^_^
services - Как изменить путь к исполняемому файлу для службы Windows?
Ответ, приведенный выше, прекрасно работает, я не могу ответить на него, но, чтобы добавить, в случае, если вам нужно иметь кавычки или другие аргументы в пути, скажем, чтобы исправить уязвимость пути без кавычек в реестре, такую как imagepath, вы может сделать следующее из CMD в качестве администратора:
(например, для C:\Program Files (x86)\YourService\YourProcess.exe)
SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Вы можете сделать следующее из powershell от имени администратора:
SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Это даст вам следующий результат:
"C:\Program Files (x86)\YourService\YourProcess.exe"
... кровавые аргументы и экранирование параметров - это кошмар! Надеюсь, это поможет кому-то в будущем.
Изменение «пути к исполняемому файлу» службы Windows – 5 Ответов
Немного глубже с командой "SC", мы можем извлечь все "Имя службы" и получить все "QueryServiceConfig":)
>SC QUERY > "%computername%-services.txt" [enter] >FIND "SERVICE_NAME: " "%computername%-services.txt" /i > "%computername%-services-name.txt" [enter] >NOTEPAD2 "%computername%-services-name.txt" [enter]
Сделайте небольшое редактирование NOTEPAD2..
Затем перейдите к 'CMD'..
>FOR /F "DELIMS= SKIP=2" %S IN ('TYPE "%computername%-services-name.txt"') DO @SC QC "%S" >> "%computername%-services-list-config.txt" [enter] >NOTEPAD2 "%computername%-services-list-config.txt" [enter]
Сырые данные готовы к загрузке "будущего командного файла", поэтому результат будет выглядеть следующим образом:
+ -------------+-------------------------+---------------------------+---------------+--------------------------------------------------+------------------+-----+----------------+--------------+--------------------+ | SERVICE_NAME | TYPE | START_TYPE | ERROR_CONTROL | BINARY_PATH_NAME | LOAD_ORDER_GROUP | TAG | DISPLAY_NAME | DEPENDENCIES | SERVICE_START_NAME | + -------------+-------------------------+---------------------------+---------------+--------------------------------------------------+------------------+-----+----------------+--------------+--------------------+ + WSearch | 10 WIN32_OWN_PROCESS | 2 AUTO_START (DELAYED) | 1 NORMAL | C:\Windows\system32\SearchIndexer.exe /Embedding | none | 0 | Windows Search | RPCSS | LocalSystem | + wuauserv | 20 WIN32_SHARE_PROCESS | 2 AUTO_START (DELAYED) | 1 NORMAL | C:\Windows\system32\svchost.exe -k netsvcs | none | 0 | Windows Update | rpcss | LocalSystem |
Но HTML будет намного проще: D
Любые яркие идеи для улучшения приветствуются V ^ _ ^
Изменение «Пути к исполняемому файлу» службы Windows
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
Как изменить путь службы к исполняемому файлу
Вот простой совет, который может сказать, что вы потратите много времени на переустановку службы просто потому, что вы предоставили установку мастер с неправильным путем, или может быть потому, что вы переместили исполняемый файл службы.
Изменить или обновить значение «Путь к исполняемому файлу» в окне свойств службы так же просто, как изменить значение в локальном реестре. Возьмем простой пример.На приведенном ниже рисунке отображены свойства службы «Оповещение». Если вы хотите изменить значение, сохраненное для свойства «Путь к исполняемому файлу», вы заметите, что вы не можете сделать это через окна свойств службы.
Чтобы легко обновить эту информацию, запустите редактор реестра, нажав кнопку Пуск -> Выполнить -> введите REGEDIT и нажмите клавишу ввода. Как показано ниже, запустится редактор реестра.
Перейдите в следующее место.В этом примере мы изменим свойства службы «Alerter», но вы должны найти соответствующий путь в реестре для службы, которую вы собираетесь изменить.
HKLM \ System \ CurrentControlSet \ Services \ ServiceNameНайдите строковый объект с именем « Image Path ». Дважды щелкните по нему и измените значение на правильное. расположение исполняемого файла.
Нет необходимости перезагружать компьютер. Если вы вернетесь к свойствам службы (обновите, если у вас все еще есть службы панели управления applet open), вы обнаружите, что новый путь теперь отображается правильно.Теперь у вас должна быть возможность запустить службу должным образом.
Вы нашли страницу информативной и полезной? Поделитесь им на одном из ваших любимых социальных сайтов.
Рекомендуемые книги и учебные ресурсы.
Упаковка существующего исполняемого файла в Azure Service Fabric - Azure Service Fabric
- 3 минуты на чтение
В этой статье
Вы можете запускать любой тип кода, например Node.js, Java или C ++, в Azure Service Fabric в качестве службы. Service Fabric называет эти типы служб гостевыми исполняемыми файлами.
Гостевые исполняемые файлы обрабатываются Service Fabric как службы без отслеживания состояния.В результате они размещаются на узлах кластера в зависимости от доступности и других показателей. В этой статье описывается, как упаковать и развернуть гостевой исполняемый файл в кластере Service Fabric с помощью Visual Studio или служебной программы командной строки.
Преимущества запуска гостевого исполняемого файла в Service Fabric
Запуск гостевого исполняемого файла в кластере Service Fabric дает несколько преимуществ:
- Высокая доступность. Приложения, работающие в Service Fabric, становятся высокодоступными.Service Fabric гарантирует, что экземпляры приложения запущены.
- Мониторинг здоровья. Мониторинг работоспособности Service Fabric определяет, запущено ли приложение, и предоставляет диагностическую информацию в случае сбоя.
- Управление жизненным циклом приложений. Помимо предоставления обновлений без простоев, Service Fabric обеспечивает автоматический откат к предыдущей версии, если во время обновления сообщается о плохом состоянии работоспособности.
- Плотность. Вы можете запускать несколько приложений в кластере, что избавляет от необходимости запускать каждое приложение на собственном оборудовании.
- Обнаруживаемость. Используя REST, вы можете вызвать службу именования Service Fabric, чтобы найти другие службы в кластере.
Образцы
Обзор файлов манифеста приложений и служб
В рамках развертывания гостевого исполняемого файла полезно понимать модель упаковки и развертывания Service Fabric, описанную в модели приложения. Модель упаковки Service Fabric основана на двух файлах XML: манифестах приложения и службы. Определение схемы для ApplicationManifest.xml и ServiceManifest.xml устанавливаются вместе с SDK Service Fabric в C: \ Program Files \ Microsoft SDKs \ Service Fabric \ schemas \ ServiceFabricServiceModel.xsd .
-
Манифест приложения Манифест приложения используется для описания приложения. В нем перечислены службы, из которых он состоит, и другие параметры, которые используются для определения способа развертывания одной или нескольких служб, например количество экземпляров.
В Service Fabric приложение - это единица развертывания и обновления.Приложение можно обновить как единое целое, где можно управлять потенциальными сбоями и возможными откатами. Service Fabric гарантирует, что процесс обновления либо успешен, либо, в случае сбоя обновления, приложение не останется в неизвестном или нестабильном состоянии.
-
Сервисный манифест Манифест службы описывает компоненты службы. Он включает данные, такие как название и тип службы, а также ее код и конфигурацию. Манифест службы также включает некоторые дополнительные параметры, которые можно использовать для настройки службы после ее развертывания.
Файловая структура пакета приложения
Чтобы развернуть приложение в Service Fabric, приложение должно следовать заранее определенной структуре каталогов. Ниже приведен пример такой структуры.
| - ApplicationPackageRoot | - GuestService1Pkg | - Код | - существующийapp.exe | - Конфигурация | - Settings.xml | - Данные | - ServiceManifest.xml | - ApplicationManifest.xml
ApplicationPackageRoot содержит ApplicationManifest.xml, определяющий приложение. Подкаталог для каждой службы, включенной в приложение, используется для хранения всех артефактов, которые требуются службе. Эти подкаталоги - это ServiceManifest.xml и, как правило, следующие:
- Код . Этот каталог содержит служебный код.
- Конфиг . Этот каталог содержит файл Settings.xml (и другие файлы, если необходимо), к которому служба может получить доступ во время выполнения для получения определенных параметров конфигурации.
- Данные . Это дополнительный каталог для хранения дополнительных локальных данных, которые могут понадобиться службе. Данные следует использовать для хранения только эфемерных данных. Service Fabric не копирует и не реплицирует изменения в каталог данных, если службу необходимо переместить (например, во время отработки отказа).
Примечание
Вам не нужно создавать каталоги config
и data
, если они вам не нужны.
Следующие шаги
Соответствующую информацию и задачи см. В следующих статьях.
.Командная строка- Как мне получить имя текущего исполняемого файла на C #?
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд