相關軟件
>SC 創(chuàng)建者:webmaster 更新時間:2006-03-03 00:00
與“服務控制器”和已安裝設備進行通訊。SC.exe 檢索和設置有關服務的控制信息??梢允褂?SC.exe 來測試和調試服務程序。可以設置存儲在注冊表中的服務屬性來控制如何在啟動時和作為后臺程序運行時啟動服務應用程序。SC.exe 的參數可以配置指定的服務,檢索當前服務的狀態(tài),也可以停止和啟動服務??梢陨膳幚砦募碚{用不同的 SC.exe 命令以自動啟動或關閉服務序列。SC.exe 提供的功能類似于“控制面板”中“管理工具”項中的“服務”。
有關命令的語法,請單擊下面任一 sc 命令:
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">
sc boot
表明最近的啟動是否應該存儲為上次已知的正確配置。
語法
sc [ServerName] boot [{bad | OK}]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。名稱必須采用通用命名約定 (UNC) 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- [{bad | OK}]
- 指定最近的啟動是否錯誤或它是否應該存儲為上次已知的正確配置。
- /?
- 在命令提示符下顯示幫助。
示例
下面的示例顯示了如何使用 sc boot 命令:
sc boot ok
sc boot bad
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">
sc config
修改注冊表和“服務控制管理器”數據庫中的服務項的值。
語法
sc [ServerName] config [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}}
- 指定該服務類型。
值 |
描述 |
---|
own |
服務以其自身的進程運行。不與其他服務共享可執(zhí)行文件。這是默認設置。 |
share |
服務作為共享進程運行。它與其他服務共享一可執(zhí)行文件。 |
kernel |
驅動程序。 |
filesys |
文件系統驅動程序。 |
rec |
文件系統識別驅動程序(標識計算機上使用的文件系統)。 |
adapt |
適配器驅動器(標識鍵盤、鼠標、磁盤驅動器這樣的硬件項)。 |
interact |
服務可以與桌面交互作用,接收用戶的輸入。交互服務必須在 LocalSystem 帳戶下運行。該類型必須與 type= own 或 type= shared(例如,type= interact type= own)結合使用。單獨使用 type=?interact 將會產生一個無效參數錯誤。 |
- start= {boot | system | auto | demand | disabled}
- 指定服務的啟動類型。
值 |
描述 |
---|
boot |
由啟動引導程序加載的設備驅動器。 |
system |
在核心初始化過程中啟動的設備驅動器。 |
auto |
每次計算機重新啟動時,甚至沒有人登錄計算機時,都能自動開始的服務。 |
demand |
必須手動啟動的服務。如果沒有指定 start=,這就是默認值。 |
disabled |
不能啟動的服務。要啟動一個禁用的服務,把啟動類型更改為其他值。 |
- error= {normal | severe | critical | ignore}
- 如果在啟動中,服務器啟動失敗,則指定錯誤的嚴重性。
值 |
描述 |
---|
normal |
將記錄錯誤,并且顯示消息對話框,通知用戶服務啟動失敗。啟動將繼續(xù)。這是默認設置。 |
severe |
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。這可能導致計算機能夠重新啟動,但服務器卻仍然不能運行。 |
critical |
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。如果上次已知正常的配置失敗,啟動也將失敗,啟動過程就會以“藍屏”錯誤而停止。 |
ignore |
錯誤已記錄,啟動繼續(xù)。記錄錯誤超出在事件日志的范圍,不再給用戶作出提示。 |
- binpath= BinaryPathName
- 指定一個進入服務二進制文件的路徑。
- group= LoadOrderGroup
- 指定一個該服務為其中成員的組名。組列表存儲在 HKLM\System\CurrentControlSet\Control\ServiceGroupOrder 子項的注冊表中。默認設置為空值。
- tag= {yes | no}
- 指定是否在“CreateService”調用中獲得 TagID。標記僅用于根啟動或系統啟動驅動程序。
- depend= dependencies
- 指定必須在此項服務之前啟動的服務名或組名。名稱以斜線 (/) 分隔。
- obj= {AccountName | ObjectName}
- 指定一個將運行的服務的帳戶名,或指定一個將會運行的驅動程序的 Windows 驅動程序對象名。默認設置為 LocalSystem。
- displayname= DisplayName
- 指定一個可以在用戶界面程序用來為用戶標識服務的友好的、有意義的名稱。例如,一項服務的子項名是對用戶沒有幫助的 wuauserv,而顯示的名稱是“自動更新”。
- password= Password
- 指定一個密碼。如果使用了非 LocalSystem 的帳戶,則此項是必需的。
- /?
- 在命令提示符下顯示幫助。
注釋
- 如果參數及其值之間沒有空格,(例如,是 type= own,而不是 type=own),則操作會失敗。
示例
下面示例顯示了如何使用 sc config 命令:
sc config NewService binpath= "ntsd -d c:\windows\system32\NewServ.exe"
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc continue
為了恢復暫停的服務,要給服務發(fā)送一個 CONTINUE 控制請求。
語法
sc [ServerName] continue [ServiceName]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- /?
- 在命令提示符下顯示幫助。
注釋
示例
下面的示例顯示了如何使用 sc continue 命令:
sc continue tapisrv
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc control
向服務發(fā)送 CONTROL B。
語法
sc [ServerName] control [ServiceName] [{paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | UserDefinedControlB}]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- {paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|UserDefinedControlB
- 指定要發(fā)送到服務的控制。
- /?
- 在命令提示符下顯示幫助。
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc create
為服務在注冊表和“服務控制管理器”中創(chuàng)建子項和入口。
語法
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 |
服務以其自身的進程運行。不與其他服務共享可執(zhí)行文件。這是默認設置。 |
share |
服務作為共享進程運行。它與其他服務共享一可執(zhí)行文件。 |
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 |
將記錄錯誤,并且顯示消息對話框,通知用戶服務啟動失敗。啟動將繼續(xù)。這是默認設置。 |
severe |
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。這可能導致計算機能夠重新啟動,但服務器卻仍然不能運行。 |
critical |
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。如果上次已知正確的配置失敗,啟動也將失敗,啟動過程就會以“藍屏”錯誤而停止。 |
ignore |
錯誤已記錄,啟動繼續(xù)。記錄錯誤超出在事件日志的范圍,不再給用戶作出提示。 |
- 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),則操作會失敗。
示例
下面的示例顯示了如何使用 sc create 命令:
sc \\myserver create NewService binpath= c:\windows\system32\NewServ.exe
sc create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= "+TDI Netbios"
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc delete
從注冊表中刪除服務子項。如果服務正在運行或者另一個進程有一個該服務的打開句柄,那么此服務將標記為刪除。
語法
sc [ServerName] delete [ServiceName]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- /?
- 在命令提示符下顯示幫助。
注釋
- 使用“添加或刪除程序”刪除 DHCP、DNS 或任何其他內置的操作系統服務?!疤砑踊騽h除程序”不只刪除該服務的注冊表子項,而且還卸載該服務并刪除其所有的快捷方式。
示例
下面的示例顯示了如何使用 sc delete 命令:
sc delete newserv
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc description
設置服務的描述字符串。
語法
sc [ServerName] description [ServiceName] [Description]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- Description
- 為指定服務指定描述。如果沒有指定字符串,則不會修改該服務的描述。對包含在服務描述中的字符數量沒有限制。
- /?
- 在命令提示符下顯示幫助。
示例
下面的示例顯示了如何使用 sc description 命令:
sc description newserv "Runs quality of service control."
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc enumdepend
列出只有運行了指定服務才能夠運行的服務。
語法
sc [ServerName] enumdepend [ServiceName] [BufferSize]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- BufferSize
- 以字節(jié)為單位指定枚舉緩沖區(qū)的大小。默認值為 1024?字節(jié)。
- /?
- 在命令提示符下顯示幫助。
注釋
- 如果緩沖區(qū)不夠大,enumdepend 操作只會部分輸出依存服務,并指定輸出所有依存服務所需的額外緩沖區(qū)大小。如果輸出被截斷,重新運行該操作并指定更大的緩沖區(qū)大小。
示例
下面的示例顯示了如何使用 sc enumdepend 命令:
sc enumdepend rpcss 5690
sc enumdepend tapisrv
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc failure
指定服務失敗時要采取的操作。
語法
sc [ServerName] failure [ServiceName] [reset= ErrorFreePeriod] [reboot= BroadcastMessage] [command= CommandLine] [actions= FailureActionsAndDelayTime]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- reset= ErrorFreePeriod
- 指定沒有失敗的周期長度(單位為秒),此后失敗計算應該重置為 0。這個參數必須與 actions= 參數結合使用。
- reboot= BroadcastMessage
- 指定服務失敗時要廣播的消息。
- command= CommandLine
- 指定服務失敗時要運行的命令行。有關在失敗時如何運行批處理或 VBS 文件的信息,請參閱“注釋”。
- actions= FailureActionsAndDelayTime
- 指定失敗操作及其延遲時間(單位為毫秒),以正斜杠 (/) 隔開。下列操作有效:run、restart 和 reboot。此參數必須與 reset= 參數結合使用。在失敗時不采取操作請使用 actions= ""。
- /?
- 在命令提示符下顯示幫助。
注釋
- 不是所有的服務都允許更改其失敗選項。其中一些作為服務集的一部分運行。
- 要在失敗時運行批處理文件,請指定 cmd.exe Drive:\FileName.bat 為 command= 的參數,其中 Drive:\FileName.bat 是批處理文件的完全合格的名稱。
- 要在失敗時運行 VBS 文件,請指定 cscript drive:\myscript.vbs 為 command= 的參數,其中 drive:\myscript.vbs 是腳本文件完全合格的名稱。
- 可以將三種不同的操作指定為 actions= 的參數,它們將會在服務的第一次、第二次、第三次失敗時使用。
- 如果參數及其值之間沒有空格,(例如,是 type= own,而不是 type=own),則操作會失敗。
示例
下面的示例顯示了如何使用 sc failure 命令:
sc failure msftpsvc reset= 30 actions= restart/5000
sc failure dfs reset= 60 command= c:\windows\services\restart_dfs.exe actions= run/5000
sc failure dfs reset= 60 actions= reboot/30000
sc failure dfs reset= 60 reboot= "The Distributed File System service has failed.Because of this, the computer will reboot in 30 seconds." actions= reboot/30000
sc failure myservice reset= 3600 reboot= "MyService crashed -- rebooting machine" command= "%windir%\MyServiceRecovery.exe" actions= restart/5000/run/10000/reboot/60000
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc getdisplayname
獲得與特定服務關聯的顯示名稱。
語法
sc [ServerName] getdisplayname [ServiceName] [BufferSize]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- BufferSize
- 指定緩沖區(qū)大?。ㄒ宰止?jié)為單位)。默認值為 1024?字節(jié)。
- /?
- 在命令提示符下顯示幫助。
示例
下面的示例顯示了如何使用 sc getdisplayname 命令:
sc getdisplayname clipsrv
sc getdisplayname tapisrv
sc getdisplayname sharedaccess
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc getkeyname
使用特定服務的顯示名稱作為輸入會獲得與其相關聯的項名。
語法
sc [ServerName] getkeyname [ServiceDisplayName] [BufferSize]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceDisplayName
- 指定服務的顯示名稱。
- BufferSize
- 指定緩沖區(qū)大?。ㄒ宰止?jié)為單位)。默認值為 1024?字節(jié)。
- /?
- 在命令提示符下顯示幫助。
注釋
- 如果 ServiceDisplayName 包含空格,請使用引號將文本引起來(例如,"Service Display Name")。
示例
下面的示例顯示了如何使用 sc getkeyname 命令:
sc getkeyname "remote procedure call (rpc)"
sc getkeyname "internet connection sharing"
sc getkeyname clipbook
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc interrogate
向服務發(fā)送一個 INTERROGATE 控制請求。
語法
sc [ServerName] interrogate [ServiceName]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- /?
- 在命令提示符下顯示幫助。
注釋
- 使用“服務控制管理器”向服務發(fā)送 INTERROGATE 會導致該服務使用“服務控制管理器”更新其狀態(tài)。
示例
下面的示例顯示了如何使用 sc interrogate 命令:
sc interrogate sharedaccess
sc interrogate rpcss
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc lock
鎖定“服務控制管理器”的數據庫。
語法
sc [ServerName] lock
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- /?
- 在命令提示符下顯示幫助。
注釋
- 鎖定“服務控制管理器”的數據庫會阻止啟動任何服務。如果要確保服務在停止之后不會啟動,請使用這個命令。這允許您不受干擾的進行一些操作(例如,刪除服務)。
- 使用 lock 操作鎖定“服務控制管理器”的數據庫,然后通過鍵入 u 來使數據庫解鎖。也可停止鎖定數據庫的進程。
示例
下面的示例顯示了如何使用 sc lock 命令:
sc lock
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc pause
發(fā)送 PAUSE 控制請求到服務。
語法
sc [ServerName] pause [ServiceName]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- /?
- 在命令提示符下顯示幫助。
注釋
- 在終止服務之前使用 pause 操作來暫停它。
- 不是所有的服務都能夠被暫停。
- 在暫停時不是所有的服務都執(zhí)行同樣的操作。一些服務繼續(xù)為已有的客戶端服務,但不會接受新的客戶端。其他的會終止對已有客戶端的服務,而且也不會接受新的客戶端。
示例
下面的示例顯示了如何使用 sc pause 命令:
sc pause tapisrv
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc qc
查詢服務的配置信息。
語法
sc [ServerName] qc [ServiceName] [BufferSize]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- BufferSize
- 指定緩沖區(qū)大?。ㄒ宰止?jié)為單位)。默認值為 1024?字節(jié)。
- /?
- 在命令提示符下顯示幫助。
注釋
- qc 操作顯示有關服務的下列信息:SERVICE_NAME(服務在注冊表中的子鍵名)、TYPE、ERROR_CONTROL、BINARY_PATH_NAME、LOAD_ORDER_GROUP、TA、DISPLAY_NAME、DEPENDENCIES 和 SERVICE_START_NAME。
管理員可以使用 SC 來確定任一服務的二進制名稱,并查明它是否與其他服務共享一個href="HELP=glossary.hlp TOPIC=dcgls_process">進程,在命令行鍵入下列命令:
sc qc ServiceName
SC 有助于將 Microsoft 管理控制臺 (MMC) 中的服務與“系統監(jiān)視器”中的進程匹配起來。如果二進制名稱是 Services.exe,那么服務共享“服務控制器”進程。
Services.exe 啟動所有的服務。為保存系統資源,幾個為 Windows 開發(fā)的 Win32 服務被編寫為共享 Services.exe 進程。這些服務不作為獨立的進程列在“系統監(jiān)視器”或“任務管理器”之中。Svchost.exe 也是如此,它是很多操作服務共享的服務主進程。
因為第三方 Win32 服務也可以配置為共享進程,所以不可能為每一個 Win32 服務創(chuàng)建一個進程。SC 可以用來獲得這些服務的配置信息。但是,如果一項服務不與其他服務共享其進程,那么在服務運行時,“系統監(jiān)視器”中會出現其進程。
因為 SC 與包含在 Windows 中的 Services.exe 相比,提供了更為詳細和準確的、關于服務的信息,所以對于服務開發(fā)員來說 SC 更有用處。Services.exe 可以確定服務是在運行、停止還是正在暫停。盡管這些工具對于正在平穩(wěn)運行的已調試程序已經足夠,但是它們提供的關于正在開發(fā)的服務的信息卻會使人誤解。例如,一項正在啟動的服務不管其實際運行與否都顯示為已啟動。
SC 執(zhí)行對所有 Windows 服務控制應用編程接口 (API) 函數的調用。通過在命令行指定這些函數來將其設置為參數。
使用 SC,可以查詢服務狀態(tài),檢索存儲在狀態(tài)結構域中的值。Services.exe 不能提供服務的完整狀態(tài),但 SC 顯示了精確的服務狀態(tài),以及最新的檢查點號碼和等待提示??梢詫z查點用作調試工具,原因在于它表明了在程序停止響應之前初始化進行的程度。SC 也可以用來指定遠程計算機名,以便于在遠程計算機上調用服務 API 函數或查看服務狀態(tài)結構。
示例
下面的示例顯示了如何使用 sc qc 命令:
sc qc \\myserver newsrvice
sc qc rpcss 248
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc qdescription
顯示服務的描述字符串。
語法
sc [ServerName] qdescription [ServiceName] [BufferSize]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- BufferSize
- 指定緩沖區(qū)大?。ㄒ宰止?jié)為單位)。默認值為 1024?字節(jié)。
- /?
- 在命令提示符下顯示幫助。
示例
下面的示例顯示了如何使用 sc qdescription 命令:
sc qdescription rpcss
sc qdescription rpcss 138
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc qfailure
顯示指定服務失敗時要執(zhí)行的操作。
語法
sc [ServerName] qfailure [ServiceName] [BufferSize]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- BufferSize
- 指定緩沖區(qū)大?。ㄒ宰止?jié)為單位)。默認值為 1024?字節(jié)。
- /?
- 在命令提示符下顯示幫助。
注釋
- qfailure 操作顯示了下面有關服務的信息:SERVICE_NAME(服務在注冊表中的子鍵名)、RESET_PERIOD、REBOOT_MESSAGE、COMMAND_LINE 和 FAILURE_ACTIONS。
示例
下面的示例顯示了如何使用 sc qfailure 命令:
sc qfailure rpcss
sc qfailure rpcss 20
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc query
獲得和顯示關于指定的服務、驅動程序、服務類型或驅動程序類型的信息。
語法
sc [ServerName] query [ServiceName] [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。此 query 參數不與其他的 query 參數結合使用(除了 ServerName)。
- type= {driver | service | all}
- 指定需要列出的內容。默認類型為 service。
值 |
描述 |
---|
driver |
僅指定需要枚舉的驅動程序。 |
service |
僅指定需要枚舉的服務。 |
all |
指定需要枚舉的驅動程序和服務器。 |
- type= {own | share | interact | kernel | filesys | rec | adapt}
- 指定需要枚舉的服務類型或驅動程序類型。
值 |
描述 |
---|
own |
服務以其自身的進程運行。不與其他服務共享可執(zhí)行文件。這是默認設置。 |
share |
服務作為共享進程運行。它與其他服務共享一可執(zhí)行文件。 |
interact |
服務可以與桌面交互作用,接收用戶的輸入。交互服務必須在 LocalSystem 帳戶下運行。 |
kernel |
驅動程序。 |
filesys |
文件系統驅動程序。 |
- state= {active | inactive | all}
- 指定用來枚舉的服務的已開始狀態(tài)。默認狀態(tài)是 active。
值 |
描述 |
---|
active |
指定所有的激活服務。 |
inactive |
指定所有暫?;蛲V沟姆?。 |
all |
指定所有服務。 |
- bufsize= BufferSize
- 以字節(jié)為單位指定枚舉緩沖區(qū)的大小。默認大小為 1024?字節(jié)。當從查詢返回的顯示結果超過 1024?個字節(jié)時,增加枚舉緩沖區(qū)的大小。
- ri= ResumeIndex
- 指定開始或繼續(xù)枚舉的索引數。默認值為?0。在查詢返回的信息超過默認緩沖區(qū)能夠顯示的大小時,請與 bufsize= 參數結合使用這個參數。
- group= GroupName
- 指定枚舉的服務組。默認設置為所有組。
- /?
- 在命令提示符下顯示幫助。
注釋
- 如果參數及其值之間沒有空格,(例如,是 type= own,而不是 type=own),則操作會失敗。
- query 操作顯示了以下關于服務的信息:SERVICE_NAME (服務在注冊表中的子鍵名)、TYPE、STATE(也是不可用的狀態(tài))、WIN32_EXIT_B、SERVICE_EXIT_B、CHECKPOINT 和 WAIT_HINT。
- 在某些情況下,type= 參數可以使用兩次?!皌ype=”參數的第一次出現指定是否查詢服務、驅動程序或所有這些。type= 參數的第二次出現指定一個由“create”操作進一步縮小查詢范圍的類型。
- 當 query 命令的顯示結果超過了枚舉緩沖區(qū)的大小時,顯示類似于以下的消息:
Enum: 更多數據,需要在索引 79 開始恢復的 1822 字節(jié)
要顯示剩余的 query 信息,重新運行 query,設置 bufsize= 為字節(jié)數,設置 ri= 為指定的索引。例如,在命令行鍵入下面的指令會顯示剩余的輸出:
sc query bufsize= 1822 ri= 79
示例
下面的示例顯示了如何使用 sc query 命令:
sc query
sc query messenger
sc query type= driver
sc query type= service
sc query state= all
sc query bufsize= 50
sc query ri= 14
sc query type= service type= interact
sc query type= driver group= ndis
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc queryex
獲得和顯示關于服務、驅動程序、服務類型或驅動程序類型的擴展信息。
語法
sc [ServerName] queryex [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。此 queryex 參數不與 ServerName 之外的任何其他 queryex 參數結合使用。
- type= {driver | service | all}
- 指定需要列出的內容。默認類型為 service。
值 |
描述 |
---|
driver |
僅指定需要枚舉的驅動程序。 |
service |
僅指定需要枚舉的服務。 |
all |
指定需要枚舉的驅動程序和服務器。 |
- type= {own | share | interact | kernel | filesys | rec | adapt}
- 指定需要枚舉的服務類型或驅動程序類型。
值 |
描述 |
---|
own |
服務以其自身的進程運行。不與其他服務共享可執(zhí)行文件。這是默認設置。 |
share |
服務作為共享進程運行。它與其他服務共享一可執(zhí)行文件。 |
interact |
服務可以與桌面交互作用,接收用戶的輸入。交互服務必須在 LocalSystem 帳戶下運行。 |
kernel |
驅動程序。 |
filesys |
文件系統驅動程序。 |
- state= {active | inactive | all}
- 指定用來枚舉的服務的已開始狀態(tài)。默認狀態(tài)是 active。
值 |
描述 |
---|
active |
指定所有的激活服務。 |
inactive |
指定所有暫?;蛲V沟姆?。 |
all |
指定所有服務。 |
- bufsize= BufferSize
- 以字節(jié)為單位指定枚舉緩沖區(qū)的大小。默認大小為 1024?字節(jié)。
- ri= ResumeIndex
- 指定開始或繼續(xù)枚舉的索引數。默認值為?0。
- group= GroupName
- 指定枚舉的服務組。默認設置為所有組。
- /?
- 在命令提示符下顯示幫助。
注釋
- 如果參數及其值之間沒有空格,(例如,是 type= own,而不是 type=own),則操作會失敗。
- queryex 操作顯示以下有關服務的信息:SERVICE_NAME(服務在注冊表中的子鍵名)、TYPE、STATE(也是不可用的狀態(tài))、WIN32_EXIT_B、SERVICE_EXIT_B、CHECKPOINT、WAIT_HINT、PID 和 FLAGS。
- 在某些情況下,“type=”參數可以使用兩次。“type=”參數的第一次出現指定是否查詢服務、驅動器或所有這些。type= 參數的第二次出現指定一個由 create 操作進一步縮小查詢范圍的類型。
- 在 queryex 命令的顯示結果超過了枚舉緩沖區(qū)大小時,顯示類似于以下的消息:
Enum:數據超出,在索引 75 處重新啟動需要 2130 個字節(jié)
要顯示 queryex 的剩余信息,重新運行 queryex,設置 bufsize= 為字節(jié)數,ri= 為指定索引。例如,在命令行鍵入下面的指令會顯示剩余的輸出:
sc queryex bufsize= 2130 ri= 75
示例
下面的示例顯示了如何使用 sc queryex 命令:
sc queryex messenger
sc queryex group= ""
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc querylock
查詢和顯示“服務控制管理器”數據庫的鎖定信息。
語法
sc [ServerName] querylock
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- /?
- 在命令提示符下顯示幫助。
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc sdset
使用“服務描述符定義語言 (SDDL)”來設置服務的安全描述符。
語法
sc [ServerName] sdset ServiceName ServiceSecurityDescriptor
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- ServiceSecurityDescriptor
- 在 SDDL 中指定服務描述符。
- /?
- 在命令提示符下顯示幫助。
注釋
- 有關 SDDL 的詳細信息,請參閱 target=_new>Microsoft 網站上的“Security Descriptor Definition Language”(安全描述符定義語言)。class=printOnly>(http://msdn.microsoft.com/)
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc sdshow
使用 SDDL 顯示服務的安全描述符。
語法
sc [ServerName] sdshow ServiceName
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- Servicename
- 指定由 getkeyname 操作返回的服務名。
- /?
- 在命令提示符下顯示幫助。
注釋
- 有關 SDDL 的詳細信息,請參閱 target=_new>Microsoft 網站上的“Security Descriptor Definition Language”(安全描述符定義語言)。class=printOnly>(http://msdn.microsoft.com/)
示例
sc sdshow rpcss
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc start
啟動正在運行的服務。
語法
sc [ServerName] start ServiceName [ServiceArguments]
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- ServiceArguments
- 指定傳遞給要啟動的服務的服務參數。
- /?
- 在命令提示符下顯示幫助。
示例
下面的示例顯示了如何使用 sc start 命令:
sc start tapisrv
href="#">
src="ms-its:c:\windows\help\UAshared.chm::/plusCold.gif">style="WIDTH: 0px">sc stop
向服務發(fā)送 STOP 控制請求。
語法
sc [ServerName] stop ServiceName
參數
- ServerName
- 指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。
- ServiceName
- 指定由 getkeyname 操作返回的服務名。
- /?
- 在命令提示符下顯示幫助。
src="ms-its:c:\windows\help\UAshared.chm::/caution.gif"> 警告
- 編輯注冊表不當可能會嚴重損壞您的系統。在更改注冊表之前,應備份計算機上任何有價值的數據。
注釋
示例
下面的示例顯示了如何使用 sc stop 命令:
sc stop tapisrv
相關文章
本頁查看次數: