此答案解決了您對服務具有多個依賴關係並只想刪除其中之一。例如,您將數據庫移動到另一臺服務器,並希望移除SQL Server依賴項(如原始問題),但也要保留該服務的其他依賴項。
正如在另一個答案中指出的那樣,sc config是要走的路,但是如果以前從未做過,那麼該參考的語法不明顯。
depend=
參數採用由正斜槓分隔的服務名稱列表,即/
。要刪除單個依賴項,只需將它的當前依賴項列表減去要刪除的依賴項即可。
要準確確定當前依賴關係,請使用sc qc查詢服務的配置信息。例如,對於一個名爲服務vpxd:
C:\Users\me>sc qc vpxd
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: vpxd
[...]
DEPENDENCIES : ProtectedStorage
: lanmanworkstation
: MSSQL$SQLEXPRESS
我們只是在DEPENDENCIES
屬性,它列出了三個相關服務感興趣。請注意,這些值是服務Name
,而不是您在Windows服務管理單元中看到的更友好的DisplayName
。
必須停止該服務才能對其進行修改。因此,要移除使它們與vpxd服務的SQLExpress依賴的命令是:
# stop the service
C:\Users\me>sc stop vpxd
# configure its dependencies; the space after depend= is important.
C:\Users\me>sc config vpxd depend= ProtectedStorage/lanmanworkstation
[SC] ChangeServiceConfig SUCCESS
# start the service back up
C:\Users\me>sc start vpxd
另一種方式來消除依賴是卸載其服務,但是這隻會意義在這個例子中,如果我們想擺脫的完全SQLExpress。另外:如果像我一樣,你傾向於使用PowerShell shell工作,請注意,sc
是Set-Content
cmdlet的常見別名。結果,所有這些例子都在好的舊Cmd shell中執行。
你可以用sc來改變依賴嗎?如果是這樣,怎麼樣? – 2009-12-15 10:15:59
http://www.kiwisyslog.com/help/cattools/index.html?appserv_howtoaddservdepends.htm – bdhar 2009-12-15 10:21:13
sc config「service name」depend =「」 – bdhar 2009-12-15 10:28:31