Windows的sc命令詳解

Windows的sc命令

命令幫助

在dos窗口輸入sc即可
在這裏插入圖片描述

C:\Users\msi>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 節點。
          qmanagedaccount-查詢服務是否將帳戶
                          與 LSA 管理的密碼結合使用。
          qprotection-----查詢服務的進程保護級別。
          quserservice----查詢用戶服務模板的本地實例。
          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服務

創建

輸入命令可以看到幫助文檔:
在這裏插入圖片描述

示例:

# 安裝服務,服務名稱是redis
C:\Windows\system32>sc create redis binPath=D:\work\databases\Redis-x64-3.2.100\redis-server.exe
## 直接創建時也能設置顯示名稱
C:\Windows\system32>sc create redis binPath=D:\work\databases\Redis-x64-3.2.100\redis-server.exe DisplayName= redis

查詢

示例:

# 使用query參數
C:\Windows\system32>sc query redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

# 使用queryex參數(比query查詢多出兩個結果)
C:\Windows\system32>sc queryex redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 0
        FLAGS              :

配置

查看幫助:
在這裏插入圖片描述
示例:

# 配置服務的顯示名稱,這裏將服務的顯示名字redis改成REDIS顯示(displayname不區分大小寫,且等號後有空格)
C:\Windows\system32>sc config redis displayname= REDIS
[SC] ChangeServiceConfig 成功

# 配置服務描述
C:\Windows\system32>sc description redis "redis的描述內容"
[SC] ChangeServiceConfig2 成功

刪除

查看幫助:
在這裏插入圖片描述
示例:

#刪除服務
C:\Windows\system32>sc delete redis
[SC] DeleteService 成功

# 刪除後再查看
C:\Windows\system32>sc query redis
[SC] EnumQueryServicesStatus:OpenService 失敗 1060:

指定的服務未安裝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章