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-----查詢服務的進程保護級別。
          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下sc create命令行添加/創建/修改服務

windows下sc create命令行添加/創建/修改服務
sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem 
修改描述: 
sc description BITS "利用空閑的網絡帶寬在后台傳輸文件。如果服務被停用,例如 Windows Update 和 MSN Explorer 的功能將無法自動下載程序和其他信息。如果此服務被禁用,任何依賴它的服務如果沒有容錯技術以直接通過 IE 傳輸文件,一旦 BITS 被禁用,就可能無法傳輸文件。" 

添加服務: 
sc create PolicyAgent binpath= "C:\WINDOWS\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec 
修改描述: 
sc description PolicyAgent "提供 TCP/IP 網絡上客戶端和服務器之間端對端的安全。如果此服務被停用,網絡上客戶端和服務器之間的 TCP/IP 安全將不穩定。如果此服務被禁用,任何依賴它的服務將無法啟動。" 

SC命令的更多用法請在查看help sc 

(注冊表修改前請做好備份), 

SvcHost共享服務的特別之處:或許重啟后還需要到注冊表位置:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost],查看"C:\WINDOWS\system32\svchost.exe -k netsvcs"以紅色字為名的鍵(這里以netsvcs為例),鍵值里是否定義有sc create BITS藍色字的服務(這里以BITS為例),如果沒有就在鍵值把服務名(這里以BITS為例)添加上去,再重啟一次。 
  
sc [ServerNamecreate [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
服務以其自身的進程運行。不與其他服務共享可執行文件。這是默認設置。

share
服務作為共享進程運行。它與其他服務共享一可執行文件。

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
將記錄錯誤,並且顯示消息對話框,通知用戶服務啟動失敗。啟動將繼續。這是默認設置。

severe
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。這可能導致計算機能夠重新啟動,但服務器卻仍然不能運行。

critical
記錄錯誤(如果存在)。計算機嘗試以最新的有效配置重新啟動。如果上次已知正確的配置失敗,啟動也將失敗,啟動過程就會以“藍屏”錯誤而停止。

ignore
錯誤已記錄,啟動繼續。記錄錯誤超出在事件日志的范圍,不再給用戶作出提示。

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),則操作會失敗。 







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM