天天看點

Windows服務控制指令SC

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---------更改服務失敗時所進行的操作。

          qc--------------查詢服務的配置資訊。

          qdescription----查詢服務的描述。

          qfailure--------查詢失敗服務所進行的操作。

          delete----------(從系統資料庫)删除服務。

          create----------建立服務(将其添加到系統資料庫)。

          control---------發送控制到服務。

          sdshow----------顯示服務的安全描述符。

          sdset-----------設定服務的安全描述符。

          GetDisplayName--擷取服務的 DisplayName。

          GetKeyName------擷取服務的 ServiceKeyName。

          EnumDepend------枚舉服務的依存關系。

        下列指令不查詢服務名稱:

        sc <server> <command> <option>

          boot------------(ok | bad) 表明是否将上一次啟動儲存為

                          最後所知的好的啟動配置

          Lock------------鎖定服務資料庫

          QueryLock-------查詢 SCManager 資料庫的 LockStatus

示例:

        sc start MyService

QUERY 和 QUERYEX 選項:

        如果查詢指令帶服務名稱,将傳回

        該服務的狀态。其他選項不适合這種

        情況。如果查詢指令不帶參數或

        帶下列選項之一,将枚舉此服務。

    type=    要枚舉的服務的類型(driver, service, all)

             預設 = service)

    state=   要枚舉的服務的狀态 (inactive, all)

             (預設 = active)\n"

    bufsize= 枚舉緩沖區的大小(以位元組計)

             (預設 = 4096)

    ri=      開始枚舉的恢複索引号\n"

             (預設 = 0)

    group=   要枚舉的服務組

             (預設 = all groups)

句法示例

sc query                - 枚舉活動服務和驅動程式的狀态

sc query messenger      - 顯示信差服務的狀态

sc queryex messenger    - 顯示信差服務的擴充狀态

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= service type= interact - 枚舉所有不活動服務

sc query type= driver group= NDIS     - 枚舉所有 NDIS 驅動程式

設定服務狀态:

文法:

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 config servicename start= auto

注意:start= 與 auto之間存在空格

停啟服務:sc stop/start servicename

實戰中,需要注意,如果start後,立即stop.可能stop指令出錯.建議隔幾秒.如下:

cd c:\windows\system32

sc stop Beisen.ReportEngine.WindowsService

xcopy E:\Websites\A\*.* E:\Services\B\ /s /y

ping -n 20 127.1>nul

SC start Beisen.ReportEngine.WindowsService