Answers:
在SuperUser上也可以看到这种方法,它使用sc
命令行而不是修改注册表:
sc config <service name> binPath= <binary path>
注意:后面的空格binPath=
很重要。您还可以使用以下方法查询当前配置:
sc qc <service name>
显示的输出类似于:
[SC] QueryServiceConfig成功
SERVICE_NAME:ServiceName
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"
打开运行(win + R),输入“ Regedit.exe”,打开“注册表编辑器”,转到
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services
找到“ Apache2.4 ”,打开文件夹,在右侧找到“ ImagePath ”,打开“ value Data ” 下的“ ImagePath”,输入以下路径:
“ C:\ xampp \ apache \ bin \ httpd.exe” -k运行服务 针对XAMPP的对象指向Apache的安装位置,并在其中找到bin文件夹“ C:(Apache的安装位置)\ bin \ httpd.exe” -k运行服务
对于像我这样试图修改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"