如何藉由使用 Sc.exe 建立 Windows 服務

文章翻譯 文章翻譯
文章編號: 251192 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

若要從遠端建立,並從命令列啟動服務,您可以使用 SC 工具 (Sc.exe) 包含在資源工具箱 」。

雖然您可以使用 [Netsvc.exe] 和 [Instsrv.exe 工具在遠端電腦上啟動服務,這些工具嗎不讓您能夠從遠端建立服務。

附註Srvinstw.exe 工具是用來建立遠端服務的圖形化使用者介面 (GUI) 版本。Srvinstw.exe 不是命令列工具。

其他相關資訊

您可以使用 Sc.exe 來協助開發 Windows 的服務。資源工具箱 」 中所提供的 Sc.exe 會實作所有的程式設計介面 (API) 函數 [Windows 服務控制應用程式的呼叫。您可以設定這些函式的參數,藉由指定命令列上。Sc.exe 也會顯示服務狀態,並擷取儲存在狀態結構欄位中的值。這個工具也可讓您指定遠端電腦的名稱,讓您可以呼叫服務 API 函數或遠端電腦上檢視服務狀態結構。

Sc.exe 也可讓您呼叫任何服務控制 API 函式,從命令列參數的任何變動。此優點是它提供便利的方法,可建立或設定登錄和服務控制管理員資料庫中的服務資訊。您沒有設定服務以手動方式在登錄中建立項目,然後再重新啟動電腦,以強制 「 服務控制管理員 」 來更新它的資料庫。

Sc.exe 使用下列語法:

Syntax1 (使用 Syntax1 執行 sc.exe)
sc [Servername] 命令 Servicename [Optionname = Optionvalue...]
Syntax2 (使用 Syntax2 顯示以外的 [查詢] 指令 [說明] 資訊)
sc [命令]

參數

  • Servername
    選擇性的。當您想要在遠端電腦上執行命令時,請指定伺服器的名稱。名稱必須以兩個反斜線 (\) 字元開頭 (,例如 \ \ myserver)。在本機電腦上執行 Sc.exe,不提供此參數。
  • 命令
    指定 sc 指令。請注意許多 sc 指令需要指定電腦上的系統管理權限。Sc.exe 支援下列命令:
    組態
    變更服務 (持續) 設定。

    繼續
    傳送繼續控制項要求至服務。

    控制項
    將控制項傳送給服務。

    建立
    建立的服務,(將其加入登錄)。

    刪除
    刪除服務 (從登錄中)。

    EnumDepend
    列舉服務相依性。

    GetDisplayName
    取得服務的 DisplayName。

    GetKeyName
    取得為服務 ServiceKeyName。

    詢問
    傳送 Interrogate 控制項要求至服務。

    暫停
    傳送暫停控制項要求至服務。

    qc
    查詢服務的組態。如需詳細資訊請參閱參考 < SC QC。

    查詢
    查詢一個服務的狀態或列舉類型的服務狀態。如需詳細資訊請參閱參考 < SC 查詢。

    啟動
    啟動服務

    停止
    傳送停止要求至服務。
  • Servicename
    指定至服務機碼,在登錄中所指定的名稱。請注意這是不同於顯示名稱 (這是您看到使用 net start 命令] 和 [控制台] 中的 [服務] 工具。Sc.exe 使用服務的主要識別碼服務的索引鍵名稱。
  • Optionname
    Optionname 和 Optionvalue 參數可讓您指定名稱和選擇性的命令參數的值。請注意沒有 [Optionname 和等號之間沒有空格。您可以提供無、 一,或多個選擇性參數名稱和值配對。
  • Optionvalue
    指定 Optionname 具名參數的值。有效值的範圍通常是限制每個 Optionname。如需清單可用值要求每個指令的說明。
許多命令需要系統管理員權限。請確定您是執行開發電腦的系統管理員。

在登錄和服務控制管理員資料庫,sc 建立 命令會建立服務的一個項目。

語法
sc [Servername] 建立 Servicename [Optionname = Optionvalue...

參數

  • Servername
    選擇性的。當您想要在遠端電腦上執行命令時,請指定伺服器的名稱。名稱必須以兩個反斜線字元開頭 (,例如 \ \ myserver)。在本機電腦上執行 SC,不提供此參數。
  • Servicename
    指定為服務機碼,在登錄中指定的名稱。請注意這是您看到使用 net start] 和 [控制台] 中的 [服務] 工具的 [顯示] 名稱不同。Sc.exe 使用服務的主要識別碼服務的索引鍵名稱。
  • Optionname
    Optionname 和 Optionvalue 參數可讓您指定的名稱與選擇性參數的值。請注意沒有 [Optionname 和等號之間沒有空格。您可以提供無、 一,或多個選擇性參數名稱和值配對。sc 查詢 指令會支援下列值: OptionnameOptionvalue
    類型 = 擁有、 共用、 互動,核心,filesys
    您想要建立的服務型別。Optionvalues 包括驅動程式所使用的型別。
    (預設值 = 共用)

    啟動 = 開機系統]、 [自動]、 [已停用的需求
    啟動服務的型別。選項值包括驅動程式所使用的型別。
    (預設值 = 需求)

    錯誤 = 正常、 嚴重、 重要,忽略
    如果服務沒有啟動在開機期間的錯誤嚴重性。
    (預設值 = 一般)

    binPath =(字串)
    服務的二進位檔案的路徑名稱。這個參數沒有預設值。必須提供這個字串。

    群組 =(字串)
    這項服務是成員的群組名稱。群組清單會儲存在下 ServiceGroupOrder 登錄中。
    (預設值 = 執行任何動作)

    標記 =(字串)
    如果這個字串設定為 [是],Sc.exe 取得一個 TagId 從 CreateService 呼叫,但是,Sc.exe 不會顯示標記。
    (預設值 = 執行任何動作)

    依存 =(用空格分隔字串)
    服務或必須啟動此服務之前的群組的名稱。

    obj =(字串)
    服務執行的帳戶名稱。驅動程式,這是 Windows 驅動程式的物件名稱。
    (預設值 = LocalSystem)

    DisplayName =(字串)
    字串,可供使用者介面程式來識別服務。

    密碼 =(字串)
    密碼字串。如果使用以外的 LocalSystem 帳戶,這是必要的。
Optionvalue
指定 Optionname 具名參數的值。請參閱 Optionname 參照的支援的值清單。當字串是會輸入時,空的引號使用表示傳入空字串。 請注意沒有 選項值 和等號之間的間距。

附註sc 建立 命令執行 CreateService API 函式的作業。

下列範例會建立名為"NewService 」 在電腦上的呼叫服務的登錄項目 \ \ remotecomputer
sc \\remotecomputer 建立 newservice binpath = c:\nt\system32\newserv.exe
附註在 Windows 2000、 Windows XP、 Windows Server 2003,Windows Vista 及 Windows Server 2008,binpath 是位於 C:\Windows\System32\Newserv.exe。

這項服務預設會建立為具有 SERVICE_DEMAND_START 開始-類型 WIN32_SHARE_PROCESS。它並沒有任何相依性,而在 LocalSystem 安全性內容中執行。

下列範例會建立本機電腦上的服務為在它自己的處理序中執行的自動啟動服務。它具有相依性,TDI 群組和 NetBIOS 服務上。請注意您必須加入空格分隔的相依性清單周圍的引號。
sc 建立 newservice binpath = c:\nt\system32\newserv.exe 類型 = 自己開始 = 自動依存 ="+ tdi netbios"
附註在 Windows 2000、 Windows XP、 Windows Server 2003,Windows Vista 及 Windows Server 2008,binpath 是位於 C:\Windows\System32\Newserv.exe。

Sc.exe 工具需進一步詳細資訊,請參閱 Sc dev.txt 文件中資源工具箱 」。本文件將更詳細地說明 Sc.exe。

屬性

文章編號: 251192 - 上次校閱: 2008年3月4日 - 版次: 4.0
這篇文章中的資訊適用於:
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Windows Vista 家用入門版
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista 商用入門版
  • Windows Vista 商用入門 64 位元版
  • Windows Vista Business N
  • Windows Vista Business N 64-bit Edition
  • Windows Vista 家用進階版
  • Windows Vista 家用入門 64 位元版
  • Windows Vista 家用進階 64 位元版
  • Windows Vista 旗艦版
  • Windows Vista 旗艦 64 位元版
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
關鍵字:?
kbmt kbhowto kbexpertiseinter kbinfo KB251192 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:251192
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com