VBScript Windowsサービスの停止・開始

VBScriptでWindowsサービスの停止と開始をするサンプルです。

Windowsサービスとは
Microsoft Windows オペレーティングシステム (OS) で長時間動作し、ユーザーとのやりとり無しで特定機能を実行するものである。


まずは停止です。

Option Explicit

'WMIにて使用する各種オブジェクトを定義・生成する。
Dim oClassSet
Dim oClass
Dim oLocator
Dim oService
Dim sMesStr
Dim lRet
Dim serviceName

'ここにサービス名を書く。
serviceName = "WSearch"

'ローカルコンピュータに接続する。
Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set oService = oLocator.ConnectServer
'クエリー条件を WQL にて指定する。
Dim query
query = "Select * From Win32_Service Where Name='" & serviceName & "'"
msgbox query
Set oClassSet = oService.ExecQuery(query)

'コレクションを解析する。
For Each oClass In oClassSet
	lRet = oClass.StopService()
Next

If lRet = 0 Then
	MsgBox "サービスの停止に成功しました。"
Else
	MsgBox "サービスの停止に失敗しました。"
End If

'使用した各種オブジェクトを後片付けする。
Set oClassSet = Nothing
Set oClass = Nothing
Set oService = Nothing
Set oLocator = Nothing

続いて、開始です。

Option Explicit

'WMIにて使用する各種オブジェクトを定義・生成する。
Dim oClassSet
Dim oClass
Dim oLocator
Dim oService
Dim sMesStr
Dim lRet
Dim serviceName

'ここにサービス名を書く。
serviceName = "WSearch"

'ローカルコンピュータに接続する。
Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set oService = oLocator.ConnectServer
'クエリー条件を WQL にて指定する。
Dim query
query = "Select * From Win32_Service Where Name='" & serviceName & "'"
msgbox query
Set oClassSet = oService.ExecQuery(query)

'コレクションを解析する。
For Each oClass In oClassSet
	lRet = oClass.StartService()
Next

If lRet = 0 Then
	MsgBox "サービスの開始に成功しました。"
Else
	MsgBox "サービスの開始に失敗しました。"
End If

'使用した各種オブジェクトを後片付けする。
Set oClassSet = Nothing
Set oClass = Nothing
Set oService = Nothing
Set oLocator = Nothing

違いとしては、oClassに対しコマンドがStartService、StopServiceなのかだけです。
ちなみにサービス名を確認する方法は下記です。

コントローラパネル→管理ツール→サービスを起動し、対象のサービスの行を右クリックプロパティを表示し、サービス名と書かれているところが該当します。

sname


Bookmark this on Yahoo Bookmark
Bookmark this on Google Bookmarks
Share on LinkedIn
LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>