- WMI Fun !! -|WMI StepWMI SampleSearchWMI Fun !! GroupsAbout WMI Fun !!
Top Page >> WMI Step >> サービスを一時停止する
サービスを一時停止する
Topics

特定のサービスを一時停止するサンプルです。Win32_Serviceクラスを使用します。


Sample Code

Private Sub Command1_Click()

Dim SerSet As SWbemObjectSet
Dim Ser As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim Ret As Long

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer
Set SerSet = Service.ExecQuery("Select * From Win32_Service Where Name='Schedule'")
            
For Each Ser In SerSet

    Ret = Ser.PauseService()

Next

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

Set SerSet = Nothing
Set Ser = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub

Comment

今回サービスを一時停止するサンプルを実行する為に、Task Schedulerサービスをテストとして使用します。ちなみにすでに一時停止または停止していればサンプルの実行が失敗します。
PauseServiceメソッドを使用してサービスを一時停止します。このメソッドを実行すると結果が帰ってきます。0であれば成功ですがそれ以外の値が帰ってくれば失敗したことになります。それ以外の値が示すエラーステータスはWMI SDKを参照してください。ちなみにすでにサービスが一時停止していれば24が帰ってきます。
再開を行うには必ず、ResumeServiceメソッドを使用する必要があります。
こちらにてサービスを再開するサンプルを公開しています。
ちなみに一時停止が行えるサービスは全てのサービスではないことにも注意してください。


WMI を本で勉強したい方へ。 Windows PowerShellインアクション を読んでみては?
なかなか WMI のことが乗っている書籍は少ないですが…管理系業務に係る方には楽しめるかも?
パソコンで目が疲れたら、ブルーベリーアイ
『ブルーベリーアイ』1粒中ビルベリーエキス160mg【楽天シニア市場】
 ^ Copyright(C) 1997-2008 とお All rights reserved. <<