我想修改应用程序的路径,但这样做会破坏它,因为服务仍然指向旧的位置。
通过转到管理工具>服务,您可以打开一个属性对话框并查看可执行文件的路径,但没有办法更改它。
用户是否可以在不重新安装应用程序的情况下修改服务路径?
我想修改应用程序的路径,但这样做会破坏它,因为服务仍然指向旧的位置。
通过转到管理工具>服务,您可以打开一个属性对话框并查看可执行文件的路径,但没有办法更改它。
用户是否可以在不重新安装应用程序的情况下修改服务路径?
当前回答
再深入一点,使用'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
欢迎提出任何好的改进意见
其他回答
使用Invoke-WmiMethod的替代方法是使用更新的CIM cmdlet。这也避免了@($null,$null…)对象的需要,就像在前面的回答中看到的那样。
Get-CimInstance win32_service -Filter "Name='My Service'" | Invoke-CimMethod -MethodName - Change -Arguments @{PathName="C:\Program Files\My Service\NewName.exe"}
打开运行(win+R),输入“Regedit.exe”,打开“注册表编辑器”,转到
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \服务
找到“Apache2.4”打开文件夹在右边找到“ImagePath”,打开“ImagePath” 在“value Data”下输入以下路径:
“C:\xampp\apache\bin\httpd.exe”-k runservice对其他xampp指向apache安装的位置,并在其中找到bin文件夹“C:(apache安装位置)\bin\httpd.exe”-k runservice
如果安装了Process Hacker,就可以使用它。
再深入一点,使用'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
欢迎提出任何好的改进意见
你也可以用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")
Or:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
-Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"