描述:
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 節點。
qmanagedaccount-查詢服務是否將帳戶
與 LSA 管理的密碼結合使用。
qprotection-----查詢服務的進程保護級別。
delete----------(從注冊表中)刪除服務。
create----------創建服務(並將其添加到注冊表中)。
control---------向服務發送控制。
sdshow----------顯示服務的安全描述符。
sdset-----------設置服務的安全描述符。
showsid---------顯示與任意名稱對應的服務 SID 字符串。
triggerinfo-----配置服務的觸發器參數。
preferrednode---設置服務的首選 NUMA 節點。
GetDisplayName--獲取服務的 DisplayName。
GetKeyName------獲取服務的 ServiceKeyName。
EnumDepend------枚舉服務依賴關系。
以下命令不需要服務名稱:
sc <server> <command> <option>
boot------------(ok | bad)指示是否應將上一次啟動另存為
最近一次已知的正確啟動配置
Lock------------鎖定服務數據庫
QueryLock-------查詢 SCManager 數據庫的 LockStatus
示例:
sc start MyService
QUERY 和 QUERYEX 選項:
如果查詢命令帶服務名稱,將返回
該服務的狀態。其他選項不適合這種
情況。如果查詢命令不帶參數或
帶下列選項之一,將枚舉此服務。
type= 要枚舉的服務的類型(driver, service, userservice, all)
(默認 = service)
state= 要枚舉的服務的狀態 (inactive, all)
(默認 = active)
bufsize= 枚舉緩沖區的大小(以字節計)
(默認 = 4096)
ri= 開始枚舉的恢復索引號
(默認 = 0)
group= 要枚舉的服務組
(默認 = all groups)
語法示例
sc query - 枚舉活動服務和驅動程序的狀態
sc query eventlog - 顯示 eventlog 服務的狀態
sc queryex eventlog - 顯示 eventlog 服務的擴展狀態
sc query type= driver - 僅枚舉活動驅動程序
sc query type= service - 僅枚舉 Win32 服務
sc query state= all - 枚舉所有服務和驅動程序
sc query bufsize= 50 - 枚舉緩沖區為 50 字節
sc query ri= 14 - 枚舉時恢復索引 = 14
sc queryex group= "" - 枚舉不在組內的活動服務
sc query type= interact - 枚舉所有不活動服務
sc query type= driver group= NDIS - 枚舉所有 NDIS 驅動程序
windows下sc create命令行添加/創建/修改服務
windows下sc create命令行添加/創建/修改服務
sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem
修改描述:
sc description BITS "利用空閑的網絡帶寬在后台傳輸文件。如果服務被停用,例如 Windows Update 和 MSN Explorer 的功能將無法自動下載程序和其他信息。如果此服務被禁用,任何依賴它的服務如果沒有容錯技術以直接通過 IE 傳輸文件,一旦 BITS 被禁用,就可能無法傳輸文件。"
添加服務:
sc create PolicyAgent binpath= "C:\WINDOWS\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec
修改描述:
sc description PolicyAgent "提供 TCP/IP 網絡上客戶端和服務器之間端對端的安全。如果此服務被停用,網絡上客戶端和服務器之間的 TCP/IP 安全將不穩定。如果此服務被禁用,任何依賴它的服務將無法啟動。"
SC命令的更多用法請在查看help sc
(注冊表修改前請做好備份),
SvcHost共享服務的特別之處:或許重啟后還需要到注冊表位置:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost],查看"C:\WINDOWS\system32\svchost.exe -k netsvcs"以紅色字為名的鍵(這里以netsvcs為例),鍵值里是否定義有sc create BITS藍色字的服務(這里以BITS為例),如果沒有就在鍵值把服務名(這里以BITS為例)添加上去,再重啟一次。
sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem
修改描述:
sc description BITS "利用空閑的網絡帶寬在后台傳輸文件。如果服務被停用,例如 Windows Update 和 MSN Explorer 的功能將無法自動下載程序和其他信息。如果此服務被禁用,任何依賴它的服務如果沒有容錯技術以直接通過 IE 傳輸文件,一旦 BITS 被禁用,就可能無法傳輸文件。"
添加服務:
sc create PolicyAgent binpath= "C:\WINDOWS\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec
修改描述:
sc description PolicyAgent "提供 TCP/IP 網絡上客戶端和服務器之間端對端的安全。如果此服務被停用,網絡上客戶端和服務器之間的 TCP/IP 安全將不穩定。如果此服務被禁用,任何依賴它的服務將無法啟動。"
SC命令的更多用法請在查看help sc
(注冊表修改前請做好備份),
SvcHost共享服務的特別之處:或許重啟后還需要到注冊表位置:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost],查看"C:\WINDOWS\system32\svchost.exe -k netsvcs"以紅色字為名的鍵(這里以netsvcs為例),鍵值里是否定義有sc create BITS藍色字的服務(這里以BITS為例),如果沒有就在鍵值把服務名(這里以BITS為例)添加上去,再重啟一次。
sc [ServerName] create [ServiceName] [type= {own | share | kernel | filesys | rec | adapt | interact type= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes | no}] [depend= dependencies] [obj= {AccountName | ObjectName}] [displayname= DisplayName] [password= Password]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- type= { own | share | kernel | filesys | rec | adapt | interact type= { own | share}}
-
指定該服務類型。默認類型為
type= own。
值
描述own
服務以其自身的進程運行。不與其他服務共享可執行文件。這是默認設置。share
服務作為共享進程運行。它與其他服務共享一可執行文件。kernel
驅動程序。filesys
文件系統驅動程序。rec
文件系統識別驅動器(標識在計算機上使用的文件系統)。interact
服務可以與桌面交互作用,接收用戶的輸入。交互服務必須在 LocalSystem 帳戶下運行。該類型必須與 type= own 或 type= shared(例如,type= interact type= own)結合使用。單獨使用 type= interact 將會產生一個無效參數錯誤。 - start= { boot | system | auto | demand | disabled}
-
指定服務的啟動類型。默認的啟動類型是
start= demand。
boot
由啟動引導程序加載的設備驅動器。system
在核心初始化過程中啟動的設備驅動器。auto
每次計算機重新啟動時,甚至沒有人登錄計算機時,都能自動開始的服務。demand
必須手動啟動的服務。如果沒有指定 start=,這就默認值。disabled
不能啟動的服務。要啟動一個禁用的服務,把啟動類型更改為其他值。 - error= { normal | severe | critical | ignore}
-
如果在啟動中,服務器啟動失敗,則指定錯誤的嚴重性。默認設置為
ascii。
normal
將記錄錯誤,並且顯示消息對話框,通知用戶服務啟動失敗。啟動將繼續。這是默認設置。severe
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。這可能導致計算機能夠重新啟動,但服務器卻仍然不能運行。critical
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。如果上次已知正確的配置失敗,啟動也將失敗,啟動過程就會以“藍屏”錯誤而停止。ignore
錯誤已記錄,啟動繼續。記錄錯誤超出在事件日志的范圍,不再給用戶作出提示。 - binpath= BinaryPathName
- 指定一個進入服務二進制文件的路徑。 binpath= 沒有默認值,必須要給出此字符串。
- group= LoadOrderGroup
- 指定一個該服務為其中成員的組名。組列表存儲在 HKLM\System\CurrentControlSet\Control\ServiceGroupOrder 子項的注冊表中。默認設置為空值。
- tag= { yes | no}
- 指定是否在“CreateService”調用中獲得 TagID。標記僅用於根啟動或系統啟動驅動程序。
- depend= dependencies
- 指定必須要在此項服務之前啟動的服務名或組名。名稱以斜線 (/) 分離開來。
- obj= { AccountName | ObjectName}
- 指定一個將運行的服務的帳戶名,或指定一個將會運行的驅動程序的 Windows 驅動程序對象名。
- displayname= DisplayName
- 指定被用戶界面程序用來標識服務的友好名稱。
- password: password
- 指定一個密碼。如果使用的不是 LocalSystem 的帳戶,密碼是必需的。
- /?
- 在命令提示符下顯示幫助。
注釋
- 如果參數及其值之間沒有空格,(例如,是 type= own,而不是 type=own),則操作會失敗。