내 응용 프로그램의 경로를 수정하고 싶지만 서비스가 여전히 이전 위치를 가리 키기 때문에 경로가 손상됩니다.
로 이동 Administrative Tools > Services
하면 속성 대화 상자를 열고를 볼 수 Path to executable
있지만 변경할 수는 없습니다.
사용자가 응용 프로그램을 다시 설치하지 않고도 서비스 경로를 수정할 수있는 방법이 있습니까?
내 응용 프로그램의 경로를 수정하고 싶지만 서비스가 여전히 이전 위치를 가리 키기 때문에 경로가 손상됩니다.
로 이동 Administrative Tools > Services
하면 속성 대화 상자를 열고를 볼 수 Path to executable
있지만 변경할 수는 없습니다.
사용자가 응용 프로그램을 다시 설치하지 않고도 서비스 경로를 수정할 수있는 방법이 있습니까?
답변:
또한이 슈퍼 유저에 볼이 방법 용도 sc
레지스트리를 수정하는 명령 줄을 대신은 :
sc config <service name> binPath= <binary path>
참고 : 뒤에 공백 binPath=
이 중요합니다. 다음을 사용하여 현재 구성을 쿼리 할 수도 있습니다.
sc qc <service name>
다음과 유사한 출력이 표시됩니다.
[SC] QueryServiceConfig 성공
SERVICE_NAME : 서비스 이름
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
sc.exe
, 벌거 벗은하지sc
레지스트리 편집이 포함되지만 서비스 정보는에서 찾을 수 있습니다 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
. 리디렉션하려는 서비스를 찾고 ImagePath
하위 키를 찾은 다음 해당 값을 변경하십시오.
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"
Run (win + R)을 열고 "Regedit.exe"를 입력 한 다음 "레지스트리 편집기"를 열고
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ 서비스
" Apache2.4 "찾기 폴더를 열고 오른쪽에서 " ImagePath "를 찾고 " value Data " 아래에서 "ImagePath"를 엽니 다 . 다음 경로를 입력하십시오.
"C : \ xampp \ apache \ bin \ httpd.exe"-k runservice foe XAMPP는 Apache가 설치된 위치를 가리키고 내부에서 bin 폴더 "C : (Apache가 설치된 위치) \ bin \ httpd.exe"를 찾습니다. -k runservice
인증을 사용하기 위해 MongoDB 서비스를 수정하려고하는 사람이라면 누구나이 @CodeMaker의 답변을 약간 수정했습니다.
"서비스"에서 "실행 파일 경로"를 보면 실행 된 행에 이미 음성 표시가 포함되어 있습니다. 그래서 그의 예제를 약간 수정해야했습니다.
구체적으로 말하면
나를 위해 길은 있었다 (음성에 주목하십시오)
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg" --service
명령 행에서
sc config MongoDB binPath= "<Modified string with \" to replace ">"
내 경우에는
sc config MongoDB binPath= "\"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe\" --config \"C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg\" --service -- auth"
'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]
그런 다음 '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 ^ _ ^
sc
훨씬 쉽고 훨씬 쉽게 망치는 것을 사용하십시오 .
sc config mssqlserver binPath= "\"F:\SQL DATA\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe\" -sMSSQLSERVER"