SC命令創建和刪除windows服務


命令格式:

sc [servername] create Servicename [Optionname= Optionvalues]

servername

可選,可以使用雙斜線,如\\\\myserver,也可以是\\\\192.168.0.1來操作遠程計算機。如果在本地計算機上操作就不用添加任何參數。

Servicename

在注冊表中為service key制定的名稱。注意這個名稱是不同於顯示名稱的(這個名稱可以用net start和服務控制面板看到),而SC是使用服務鍵名來鑒別服務的。

Optionname 

    這個optionname和optionvalues參數允許你指定操作命令參數的名稱和數值。注意,這一點很重要在操作名稱和等號之間是沒有空格的。

    如果你想要看每個命令的可以用的optionvalues,你可以使用sc command這樣的格式。這會為你提供詳細的幫助。

Optionvalues

    為optionname的參數的名稱指定它的數值。有效數值范圍常常限制於哪一個參數的optionname。如果要列表請用sc command來詢問每個命令。

 

Optionname--Optionvalues描述

type=----own, share, interact, kernel, filesys

關於建立服務的類型,選項值包括驅動程序使用的類型,默認是share。

start=----boot, sys tem, auto, demand, disabled

關於啟動服務的類型,選項值包括驅動程序使用的類型,默認是demand(手動)。

error=----normal, severe, critical, ignore

當服務在導入失敗錯誤的嚴重性,默認是normal。

binPath=--(string)

服務二進制文件的路徑名,這里沒有默認值,這個字符串是必須設置的。

group=----(string)

這個服務屬於的組,這個組的列表保存在注冊表中的ServiceGroupOrder下。默認是nothing。

tag=----(string)

如果這個字符串被設置為yes,sc可以從CreateService call中得到一個tagId。然而,SC並不顯示這個標簽,所以使用這個沒有多少意義。默認是nothing

depend=----(space separated string)有空格的字符串。

在這個服務啟動前必須啟動的服務的名稱或者是組。

obj=----(string)

賬號運行使用的名稱,也可以說是登陸身份。默認是localsys tem

Displayname=--(string)

一個為在用戶界面程序中鑒別各個服務使用的字符串。

password=--(string)

一個密碼,如果一個不同於localsys tem的賬號使用時需要使用這個。

Optionvalues

    Optionname參數名稱的數值列表。參考optionname。當我們輸入一個字符串時,如果輸入一個空的引用這意味着一個空的字符串將被導入。

 

需要注意的是:

1. 在option= xxxxx格式中,“=”號和后面的內容一定要有空格,如depend=  Tcpip

2. 如果命令中的需要進行雙引號的嵌套,使用反斜杠加引號 " \" " 來進行轉義處理。

 

示例

sc create svnservice binpath= "\"D:\Servers\Subversion\bin\svnserve.exe\" --service -r E:\SVN\repository" displayname= "SVNService" depend= Tcpip start= auto 

使用SC命令刪除windows服務

sc delete

從注冊表中刪除服務子項。如果服務正在運行或者另一個進程有一個該服務的打開句柄,那么此服務將標記為刪除。

語法

 

sc [ServerName] delete [ServiceName] 

 

參數

ServerName 

指定服務所在的遠程服務器名稱。該名稱必須使用 UNC 格式(“\\myserver”)。要在本機上運行 SC.exe,請忽略此參數。 

ServiceName 

指定由 getkeyname 操作返回的服務名。 

示例

sc delete svnservice

失敗提示:DeleteService FAILED 1072

在刪除服務時可能會遇上一個失敗提示“DeleteService FAILED 1072: The specified service has been marked for deletion.”,或者運行沒報錯,但服務仍然在服務管理列表中。 

這 是因為server被卸載掉時,會檢查狀態(實際是標記狀 態,啟動服務時檢查,確定定啟動或是卸載)。如果是啟動狀態,則在服務停止時自動卸載;否則立即卸載。所以報錯的原因可能是因為服務處於啟動狀態,所以無 法刪除,如果需要立即刪除,需要使用命令終止服務,命令格式如下:

 

sc stop ServiceName

 


免責聲明!

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



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