2012/04/22

NT Service Controller command line

有時候有些服務可能沒用到,
像 UltraVNC 若已經在本機操作了,
雖然也感覺不出多佔資源,
但沒用到的還是關閉吧!

UltraVNC v1.0.9.6.2 註冊到服務,
在右下角若點選 Close VNC Connections,
過一下又自己啟動了... 真不知這選項要做啥的?!
應該是給沒有安裝到服務的人關閉用的...

若點選 Stop Service,就算已經是 Administrators 群組,
XP 它還是會要你輸入 Administrator 的密碼才能停止...
變得挺麻煩的-..-
反而是直接到服務裡停止 uvnc_service 還比較快...
不過進服務還是很麻煩,
就找了指令放到桌面上來關閉,夠懶吧! :D

 
[bash]Microsoft Windows XP [版本 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

服務指令及說明:
C:\>sc
DESCRIPTION:
SC is a command line program used for communicating with the
NT Service Controller and services.
USAGE:
sc <server> [command] [service name] <option1> <option2>...

The option <server> has the form "\\ServerName"
Further help on commands can be obtained by typing: "sc [command]"
Commands:
query-----------Queries the status for a service, or
enumerates the status for types of services.
queryex---------Queries the extended status for a service, or
enumerates the status for types of services.
start-----------Starts a service.
pause-----------Sends a PAUSE control request to a service.
interrogate-----Sends an INTERROGATE control request to a service.
continue--------Sends a CONTINUE control request to a service.
stop------------Sends a STOP request to a service.
config----------Changes the configuration of a service (persistant).
description-----Changes the description of a service.
failure---------Changes the actions taken by a service upon failure.
sidtype---------Changes the service SID type of a service.
qc--------------Queries the configuration information for a service.
qdescription----Queries the description for a service.
qfailure--------Queries the actions taken by a service upon failure.
qsidtype--------Queries the service SID type of a service.
delete----------Deletes a service (from the registry).
create----------Creates a service. (adds it to the registry).
control---------Sends a control to a service.
sdshow----------Displays a service's security descriptor.
sdset-----------Sets a service's security descriptor.
showsid---------Displays the service SID string corresponding to an ar
bitrary name.
GetDisplayName--Gets the DisplayName for a service.
GetKeyName------Gets the ServiceKeyName for a service.
EnumDepend------Enumerates Service Dependencies.

The following commands don't require a service name:
sc <server> <command> <option>
boot------------(ok | bad) Indicates whether the last boot should
be saved as the last-known-good boot configuration
Lock------------Locks the Service Database
QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
sc start MyService

Would you like to see help for the QUERY and QUERYEX commands? [ y | n ]: y
QUERY and QUERYEX OPTIONS :
If the query command is followed by a service name, the status
for that service is returned. Further options do not apply in
this case. If the query command is followed by nothing or one of
the options listed below, the services are enumerated.
type= Type of services to enumerate (driver, service, all)
(default = service)
state= State of services to enumerate (inactive, all)
(default = active)
bufsize= The size (in bytes) of the enumeration buffer
(default = 4096)
ri= The resume index number at which to begin the enumeration
(default = 0)
group= Service group to enumerate
(default = all groups)
SYNTAX EXAMPLES
sc query - Enumerates status for active services & drivers
sc query messenger - Displays status for the messenger service
sc queryex messenger - Displays extended status for the messenger service
sc query type= driver - Enumerates only active drivers
sc query type= service - Enumerates only Win32 services
sc query state= all - Enumerates all services & drivers
sc query bufsize= 50 - Enumerates with a 50 byte buffer.
sc query ri= 14 - Enumerates with resume index = 14
sc queryex group= "" - Enumerates active services not in a group
sc query type= service type= interact - Enumerates all interactive services
sc query type= driver group= NDIS - Enumerates all NDIS drivers

 
Microsoft Windows [版本 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\>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-----------變更服務的必要權限。
qc--------------查詢服務的設定資訊。
qdescription----查詢服務的描述。
qfailure--------查詢失敗時服務執行的動作。
qfailureflag----查詢服務的失敗動作旗標。
qsidtype--------查詢服務的服務 SID 類型。
qprivs----------查詢服務的必要權限。
qtriggerinfo----查詢服務的觸發程序參數。
qpreferrednode--查詢服務的慣用 NUMA 節點。
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 命令的說明? [ y | n ]:
y

QUERY 與 QUERYEX 選項:
如果 query 命令後面接著服務名稱,將傳回服務的狀態。在這種情況下,無法
指定其他選項。若 query 命令後面沒有接任何東西,或是接著下列其中一個選
項,將會列舉服務。
type= 要列舉之服務的類型 (driver, service, all)
(預設 = service)
state= 要列舉之服務的狀態 (inactive, all)
(預設 = active)
bufsize= 列舉緩衝區的大小 (位元組)
(預設 = 4096)
ri= 開始列舉所在的繼續索引編號
(預設 = 0)
group= 要列舉的服務群組
(預設 = all groups)

語法範例
sc query - 列舉使用中服務與驅動程式的狀態
sc query eventlog - 顯示事件記錄檔服務的狀態
sc queryex 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 驅動程式[/bash]

 
服務查詢名稱(SERVICE_NAME):
C:\>sc query state= all | more
... ... ... ...(依照 SERVICE_NAME 名稱排列。)
(沒加 state= all 參數的話只顯示已啟動的服務。)

服務查詢(以下用 UltraVNC 的 uvnc_service 服務做說明)
C:\>sc query uvnc_service

SERVICE_NAME: uvnc_service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

服務停止:
C:\>sc stop uvnc_service

SERVICE_NAME: uvnc_service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

服務查詢:
C:\>sc query uvnc_service

SERVICE_NAME: uvnc_service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 1 STOPPED
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

服務啟動:
C:\>sc start uvnc_service

SERVICE_NAME: uvnc_service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : xxxx
FLAGS :

 
服務查詢設定:
C:\>sc qc uvnc_service
[SC] GetServiceConfig SUCCESS

SERVICE_NAME: uvnc_service
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : "D:\program\UltraVNC\WinVNC.exe" -service
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : uvnc_service
DEPENDENCIES : Tcpip
SERVICE_START_NAME : LocalSystem

 
服務變更設定及說明(持續的):
[bash]C:\>sc config
Modifies a service entry in the registry and Service Database.
SYNTAX:
sc <server> config [service name] <option1> <option2>...
CONFIG OPTIONS:
NOTE: The option name includes the equal sign.
type= <own|share|interact|kernel|filesys|rec|adapt>
start= <boot|system|auto|demand|disabled>
error= <normal|severe|critical|ignore>
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <Dependencies(separated by / (forward slash))>
obj= <AccountName|ObjectName>
DisplayName= <display name>
password= <password>

說明:
修改登錄和服務資料庫中的服務項目。
使用方法:
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= <二進位檔案路徑名稱>
group= <載入順序群組>
tag= <yes|no>
depend= <依存性(以 / (反斜線)隔開)>
obj= <帳戶名稱|物件名稱>
DisplayName= <顯示名稱>
password= <密碼>[/bash]

服務改變設定-啟動類型:自動 2
C:\>sc config uvnc_service start= auto
[SC] ChangeServiceConfig SUCCESS
等同 Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\uvnc_service /v Start /t REG_DWORD /d 2 /f

服務改變設定-啟動類型:自動 2 (延遲開始) Windows6.0
C:\>sc config uvnc_service start= delayed-auto
[SC] ChangeServiceConfig 成功
等同 Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\uvnc_service /v Start /t REG_DWORD /d 2 /f
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\uvnc_service /v DelayedAutostart /t REG_DWORD /d 1 /f

服務改變設定-啟動類型:手動 3
C:\>sc config uvnc_service start= demand
[SC] ChangeServiceConfig SUCCESS
等同 Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\uvnc_service /v Start /t REG_DWORD /d 3 /f

服務改變設定-啟動類型:已停用 4
C:\>sc config uvnc_service start= disabled
[SC] ChangeServiceConfig SUCCESS
等同 Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\uvnc_service /v Start /t REG_DWORD /d 4 /f

 
最後啟動停止服務也可以用 net 指令:
C:\>net stop uvnc_service
uvnc_service 服務正在停止....
uvnc_service 服務已經成功停止。

C:\>net start uvnc_service
uvnc_service 服務已經啟動成功。

C:\>net start uvnc_service
已經啟動要使用的服務。
詳細資料,請輸入 NET HELPMSG 2182。

C:\>net helpmsg 2182
已經啟動要使用的服務。
說明
要啟動的服務,正在執行中。
動作
要顯示執行中的服務清單,請輸入:
NET START

缺點是 2 個都沒有 restart 的重新啟動參數,
只能用 stop + start。

沒有留言:

張貼留言