在安裝或設定應用程式時,需要透過指令的方式來設定Windows Service,但是常見的方法是透過Net命令來啟動或停用服務,但是如過需要調整服務的啟動狀態Net命令就無法解決這個問題,這時候就需要另外一個命令:SC
如果要啟用或停用Windows Service 通常看到的作法是透過
net start [服務名稱]
來啟用服務或者透過
net stop [服務名稱]
來停用服務。但是如過要設定服務的啟動狀態就只好借助另一個指令SC。
描述:
SC 是一個用來和服務控制管理員及服務溝通的命令列程式。
使用方式:
sc <server> [command] [service name] <option1> <option2>...
<server> 選項的格式是 "\\ServerName"
命令的進一步說明可經由輸入 "sc [command]" 取得
命令:
query-----------查詢服務的狀態,或列舉服務類型的狀態。
queryex---------查詢服務的延伸狀態,或列舉服務類型的狀態。
start-----------啟動服務。
pause-----------傳送 PAUSE 控制要求到服務。
interrogate-----傳送 INTERROGATE 控制要求到服務。
continue--------傳送 CONTINUE 控制要求到服務。
stop------------傳送 STOP 要求到服務。
config----------變更服務 (持續) 的設定。
description-----變更服務的描述。
failure---------變更服務在失敗時所採取的動作。
failureflag-----變更服務的失敗動作旗標。
sidtype---------變更服務的服務 SID 類型。
privs-----------變更服務的必要權限。
managedaccount--變更服務以將服務帳戶密碼標示為由 LSA 管理。
qc--------------查詢服務的設定資訊。
qdescription----查詢服務的描述。
qfailure--------查詢服務在失敗時所採取的動作。
qfailureflag----查詢服務的失敗動作旗標。
qsidtype--------查詢服務的服務 SID 類型。
qprivs----------查詢服務的必要權限。
qtriggerinfo----查詢服務的觸發程序參數。
qpreferrednode--查詢服務的慣用 NUMA 節點。
qrunlevel-------查詢服務的執行層級。
qmanagedaccount-查詢服務是否使用由 LSA 管理的帳戶與密碼。
delete----------刪除服務 (從登錄中)。
create----------建立服務 (新增到登錄中)。
control---------傳送控制到服務。
sdshow----------顯示服務的安全性描述元。
sdset-----------設定服務的安全性描述元。
showsid---------顯示對應至任意名稱的服務 SID 字串。
triggerinfo-----設定服務的觸發程序參數。
preferrednode---設定服務的慣用 NUMA 節點。
runlevel--------設定服務的執行層級。
GetDisplayName--取得服務的 DisplayName。
GetKeyName------取得服務的 ServiceKeyName。
EnumDepend------列舉服務相依性。
下列命令不需要服務名稱:
sc <server> <command> <option>
boot------------(ok | bad) 表示是否要將上次開機儲存為上次正確的
開機設定
Lock------------鎖定服務資料庫
QueryLock-------查詢 SCManager 資料庫的 LockStatus
範例:
sc start MyService
由此可知我們也可以透過SC來啟用服務,另外如果我們要調整服務的設定就是透過SC CONFIG指令來完成
描述:
修改登錄和服務資料庫中的服務項目。
使用方式:
sc <server> config [service name] <option1> <option2>...
選項:
注意: 選項名稱包括等號。
在等號和值之間必須空一格。
type= <own|share|interact|kernel|filesys|rec|adapt>
start= <boot|system|auto|demand|disabled|delayed-auto>
error= <normal|severe|critical|ignore>
binPath= <.exe 檔案的二進位檔案路徑名稱>
group= <載入順序群組>
tag= <yes|no>
depend= <依存性(以 / (反斜線)隔開)>
obj= <帳戶名稱|物件名稱>
DisplayName= <顯示名稱>
password= <密碼>
例如:要啟用 Distributed Transaction Coordinator 的啟動類型為自動(預設為手動)則只要透過指令
sc config MSDTC start=auto
就完成了
留言