VBS(VBScript)によるサービスを起動・停止する方法を紹介
WMIを使って、サービスを起動・停止する
サンプルソース
停止しているサービスを起動する
(入力)
Dim qu,cl,swbe,service,sms1,sms2,sms3,sms4
Set swbe = WScript.CreateObject("WbemScripting.SWbemLocator")
Set service = swbe.ConnectServer
Set qu = service.ExecQuery("Select * From Win32_BaseService")
For Each cl In qu
sms1 = cl.Name
sms2 = cl.State
if (sms1 = "AppReadiness") and (sms2 = "Stopped") then
cl.State = "Running"
cl.put_
sms3 = cl.Name
sms4 = cl.State
end if
Next
Wscript.Echo "サービス名:" & sms3
Wscript.Echo "ステータス:"& sms4
(出力)
サービス名:AppReadiness
ステータス:Running
サンプルソース
起動しているサービスを停止する。尚、関連付けがある場合は同時にそちらも停止しないと以下のスクリプトでは停止できない。
関連付け
(入力)
Dim qu,cl,swbe,service,sms1,sms2,sms3,sms4
Set swbe = WScript.CreateObject("WbemScripting.SWbemLocator")
Set service = swbe.ConnectServer
Set qu = service.ExecQuery("Select * From Win32_BaseService")
For Each cl In qu
sms1 = cl.Name
sms2 = cl.State
if (sms1 = "AppReadiness") and (sms2 = "Running") then
cl.State = "Stopped"
cl.put_
sms3 = cl.Name
sms4 = cl.State
end if
Next
Wscript.Echo "サービス名:" & sms3
Wscript.Echo "ステータス:"& sms4
(出力)
サービス名:AppReadiness
ステータス:Stopped