Microsoft Windows 服務(過去稱為 NT 服務)允許用戶創建可在其自身的 Windows 會話中長時間運行的可執行應用程序。 這些服務可在計算機啟動時自動啟動,可以暫停和重啟,并且不顯示任何用戶界面。 這些功能使服務非常適合在服務器上使用,或者需要長時間運行的功能(不會影響在同一臺計算機上工作的其他用戶)的情況。 還可以在與登錄用戶或默認計算機帳戶不同的特定用戶帳戶的安全性上下文中運行服務。
本例介紹三種常規方法,涉及到DOS下的Net、SC和Powershell下的get/start/stop/set/new/restart/resume-service方法。
1.net命令方式:
C:\>net?/? 此命令的語法是: NET ????[?ACCOUNTS?|?COMPUTER?|?CONFIG?|?CONTINUE?|?FILE?|?GROUP?|?HELP?| ??????HELPMSG?|?LOCALGROUP?|?PAUSE?|?SESSION?|?SHARE?|?START?| ??????STATISTICS?|?STOP?|?TIME?|?USE?|?USER?|?VIEW?] C:\>
格式:啟動和關閉服務的時候,其語法是: net?start?服務名 net?stop?服務名

例:查看Server服務狀態:

例:停止&啟動服務:

2.sc命令方式:
C:\>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?驅動程序
SC是用于與服務控制管理器和服務進行通信的命令行程序,其語法是: sc?config??服務名?start=?demand???//手動 sc?config??服務名?start=?auto?????//自動 sc?config??服務名?start=?disabled?//禁用 sc?start???服務名 開啟服務 sc?stop????服務名 停止服務 sc?query???服務名 查看服務狀態 sc?delete??服務名????刪除服務 sc?qc??????服務名????查看服務的配置信息 sc?create?scname?binPath=xxxxxx.exe 創建服務
例:查看server服務屬性:

例:停止&啟動服務:

3.powershell命令方式:
PS?C:\>?help?*-service* Name????????????????Category??Module????????????????????Synopsis ----??????????????????--------??------????????????????????-------- Resume-Service??????Cmdlet????Microsoft.PowerShell.M...?Resume-Service... Restart-Service?????Cmdlet????Microsoft.PowerShell.M...?Restart-Service... Set-Service?????????Cmdlet????Microsoft.PowerShell.M...?Set-Service... Get-Service?????????Cmdlet????Microsoft.PowerShell.M...?Get-Service... Suspend-Service?????Cmdlet????Microsoft.PowerShell.M...?Suspend-Service... Start-Service???????Cmdlet????Microsoft.PowerShell.M...?Start-Service... Stop-Service????????Cmdlet????Microsoft.PowerShell.M...?Stop-Service... New-Service?????????Cmdlet????Microsoft.PowerShell.M...?New-Service...
Get-Service???[[-Name]?<String[]>]???[-DependentServices]???[-RequiredServices]???[-Include?<String[]>]???[-Exclude?<String[]>]???[<CommonParameters>]
Get-Service???[-DependentServices]???[-RequiredServices]???-DisplayName?<String[]>???[-Include?<String[]>]???[-Exclude?<String[]>]???[<CommonParameters>]
Get-Service???[-DependentServices]???[-RequiredServices]???[-Include?<String[]>]???[-Exclude?<String[]>]???[-InputObject?<ServiceController[]>]???[<CommonParameters>]
描述:在獲取-服務?cmdlet獲取代表計算機,包括運行和停止服務的服務對象。
您可以通過指定服務的名稱或服務的顯示名稱來指示此cmdlet僅獲取特定服務,也可以將服務對象傳遞給此cmdlet。
1:獲取計算機上的所有服務
Get-Service
此命令獲取計算機上的所有服務。它表現得好像你輸入的那樣Get-Service?*。默認顯示屏顯示每項服務的狀態,服務名稱和顯示名稱。
2:獲取以搜索字符串開頭的服務
Get-Service?"wmi*"
此命令檢索服務名稱以WMI(Windows?Management?Instrumentation的首字母縮寫)開頭的服務。
3:顯示包含搜索字符串的服務
Get-Service?-Displayname?"*network*"
此命令顯示具有包含單詞network的顯示名稱的服務。即使服務名稱不包含“Net”(例如xmlprov,網絡配置服務),搜索顯示名稱也會查找與網絡相關的服務。
4:獲取以搜索字符串和排除項開頭的服務
Get-Service?-Name?"win*"?-Exclude?"WinRM"
除WinRM服務外,這些命令僅獲取服務名稱以win開頭的服務。
5:顯示當前活動的服務
Get-Service?|?Where-Object?{$_.Status?-eq?"Running"}
此命令僅顯示當前活動的服務。它使用Get-Service?cmdlet獲取計算機上的所有服務。管道運算符(|)將結果傳遞給Where-Object?cmdlet,該cmdlet僅選擇Status屬性等于Running的服務。
狀態只是服務對象的一個屬性。要查看所有屬性,請鍵入Get-Service?|?Get-Member。
6:獲取服務的從屬服務
Get-Service?"WinRM"?-RequiredServices
此命令獲取WinRM服務所需的服務。
該命令返回服務的ServicesDependedOn屬性的值。
9:通過管道運算符獲取服務
"WinRM"?|?Get-Service
此命令獲取本地計算機上的WinRM服務。此示例顯示您可以將服務名稱字符串(用引號括起來)傳遞給Get-Service。
您還可以通過其內置別名“gsv”?來引用Get-Service。
僅當當前用戶有權查看它們時,此cmdlet才能顯示服務。如果此cmdlet不顯示服務,則您可能無權查看它們。
要查找系統上每個服務的服務名稱和顯示名稱,請鍵入Get-Service。服務名稱顯示在“名稱”列中,顯示名稱顯示在“DisplayName”列中。
按狀態值按升序排序時,“已停止”服務將出現在“正在運行”服務之前。服務的Status屬性是枚舉值,其中狀態的名稱表示整數值。排序基于整數值,而不是名稱?!罢谶\行”出現在“已停止”之前,因為“已停止”的值為“1”,“正在運行”的值為“4”。例:查看服務狀態:

例:關閉服務&啟動服務:

備注:
Start-Service,啟動服務。???? Stop-Service,停止服務。Restart-Service,重啟服務。 Suspend-Service,掛起/暫停服務。
Resume-Service,繼續服務。Set-Service,設置服務的屬性。New-Service,創建新服務。使用方法類似。
歡迎關注微信公眾號:小溫研習社

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。