[DOS BATCH]列出本機服務(windows service)

[DOS BATCH]列出本機服務(windows service)

紀錄一下過程。

問題描述

想要將本機電腦上的服務(windows service)列出清單,篩選出跟SQL Server有關的服務。

步驟

1. 使用wmic查詢本機服務。

 


 

image

image

2. 查詢跟SQL server有關的服務。


 

image

3. 彙整到批次檔。


@if not "%OS%"=="Windows_NT" goto :EXIT
@if "%1"=="" (set INFO=echo && set SEXIT=I) else (set INFO=rem && set SEXIT=O)
%INFO% *****************************************************
%INFO% 功能描述:系統服務(windows service)清單
%INFO% 撰寫日期:2015/11/5
%INFO% 作者:DUNK
%INFO% *****************************************************
rem 如果不需要輸入參數,請將下列一行註解
rem @if "%SEXIT%"=="I" goto :EXIT
@title 列出系統服務(windows service)清單
@cls
@color 07
:MAIN
echo STARTTIME:%date% %time%

rem 執行檔名稱
set exeFileName=wmic

rem 格式檔位置(*.xsl)
rem 預設資料夾為%WINDIR%\System32\wbem\zh-TW(中文版作業系統)
rem 找不到請更換為%WINDIR%\System32\wbem\en-US

set xslfile=%WINDIR%\System32\wbem\zh-TW\htable


rem 清單檔案位置
set exportFileName=D:\ServiceList_%COMPUTERNAME%.html
echo %COMPUTERNAME%系統服務(windows service)清單 > %exportFileName%
echo 產生時間:%date% %time% >> %exportFileName%  

rem 取得IP位置
%exeFileName% NICCONFIG where IPEnabled=TRUE get IPADDRESS /FORMAT:"%xslfile%"|more >> %exportFileName%

rem 列出與SQL server有關的服務清單
%exeFileName% service where "name like '%%SQL%%'" get name,startmode,state,startname /FORMAT:"%xslfile%"|more >> %exportFileName%

echo ENDTIME:%date% %time%

:EXIT
%exportFileName%
@echo on

結果畫面

image

注意事項


 

1. where之後條件敘述式要加雙引號。

2. 在批次檔使用like的話要加兩個百分比符號%%。

參考資料

[DOS BATCH]檢查本機安裝軟體

WMIC Wildcard Search using like and %

Examples of WMIC commands for Windows .NET SERVER Family