首頁 > 軟體

Windows的sc命令詳解(sc命令用法)

2022-11-03 14:02:07

Windows的sc命令 命令幫助

在dos視窗輸入sc即可

C:Usersmsi>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 驅動程式

常用用法

建立

輸入命令可以看到幫助檔案:


範例:

# 安裝服務
## 服務名稱是redis,
C:Windowssystem32>sc create redis binpath= "D:workdatabasesRedis-x64-3.2.100redis-server.exe --service-run D:workdatabasesRedis-x64-3.2.100redis.windows.conf"
## 直接建立時也能設定顯示名稱
C:Windowssystem32>sc create redis binPath=D:workdatabasesRedis-x64-3.2.100redis-server.exe DisplayName= redis

查詢

範例:

# 使用query引數
C:Windowssystem32>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:Windowssystem32>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              :

啟動

# 先查詢服務狀態(STOPPED)
C:Windowssystem32>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

# 啟動服務(RUNNING)
C:Windowssystem32>sc start redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 8896
        FLAGS              :

停止

範例

# 直接停止
sc stop redis

# 新增停止原因和備註
sc stop redis 1:2:8 "must stop redis"

設定

檢視幫助:

範例(需要管理員許可權):

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

# 設定服務描述
C:Windowssystem32>sc description redis "redis的描述內容"
[SC] ChangeServiceConfig2 成功

刪除

檢視幫助:

範例(需要管理員許可權):

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

# 刪除後再檢視
C:Windowssystem32>sc query redis
[SC] EnumQueryServicesStatus:OpenService 失敗 1060:

指定的服務未安裝。

範例

手動啟動
sc Create 手動 binPath= "cmd /K start" type= own type= interact
sc start 手動

sc Create 手動啟動 binPath= "cmd /K start" type= own type= interact start= DEMAND 
sc start 手動啟動


測試
sc Create 自動啟動 binPath= "cmd /K start" type= own type= interact start= AUTO  
sc start 自動啟動

到此這篇關於Windows的sc命令詳解(sc命令用法)的文章就介紹到這了,更多相關sc命令詳解內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com