WMI Fun !! 〜 WMI に興味がある方・システム管理者は必見です! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|Enquete|About WMI Fun !!
 My Let'snote|Personal|Insomnia|Link

WMI Fun !! > WMI Sample (VBS) > サービスを開始する

このエントリーをはてなブックマークに追加
パソコンに負荷のかからないウィルス対策なら ESET パーソナル セキュリティ
話題のプリウス、ディーラーオプションもネットで気軽に購入
家族でのんびり北海道旅行はいかがですか?広い台地でのんびり〜

サービスを開始する: Win32_Service - WMI Sample (VBS)

Topics

特定のサービスを開始するサンプルプログラムです。
Win32_Service クラスを使用します。

Win32_Service クラスの詳細に関しては、WMI Library 内のWin32_Service クラスも参照してみて下さい。

従来の VB (VB6) 版のサンプルコードはこちらで公開しています。



Sample Code

Option Explicit

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

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

'コレクションを解析する。
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



Comment

今回サービスを開始するサンプルを実行する為に、Alerter サービスをテストとして使用します。もちろんサービスを開始するサンプルですのでこのサービスをすでに使用していて開始していればサンプルの実行が失敗します。
StartService メソッドを使用してサービスを開始します。このメソッドを実行すると結果が帰ってきます。0 であれば成功ですがそれ以外の値が帰ってくれば何かしらの理由で失敗したことになります。それ以外の値が示すエラーステータスは、

0: 要求が受け入れられました。
2: ユーザーに必要なアクセスがありません。
3: そのサービスは、実行中のほかのサービスが依存しているので停止できません。
4: 要求された制御コードは有効でないか、またはサービスを受け入れ可能ではありません。
5: サービスの状態 (Win32_BaseService:State) が 0、1、または 2 と等しいので、要求された制御コードはサービスに送信されませんでした。
6: サービスは開始されていません。
7: サービスは適切な時間内に開始要求に応答しませんでした。
8: サービスの開始時に不明なエラーが発生しました。
9: サービス実行可能ファイルへのディレクトリ パスが見つかりませんでした。
10: サービスは既に実行しています。
11: 新しいサービスを追加するデータベースはロックされています。
12: このサービスが依存する依存関係はシステムから削除されました。
13: サービスは依存関係のあるサービスから必要なサービスを見つけられませんでした。
14: サービスはシステムから無効になっています。
15: サービスにはシステムで実行するための正しい承認がありません。
16: このサービスはシステムから削除されているところです。
17: サービスに実行スレッドがありません。
18: サービスの開始時に循環依存があります。
19: 同じ名前で実行中のサービスがあります。
20: サービスの名前に無効な文字があります。
21: 無効なパラメーターがサービスに渡されました。
22: このサービスが実行するアカウントは、無効か、またはサービスを実行するアクセス許可がロックされています。
23: サービスは、システムから利用できるサービスのデータベースにあります。
24: サービスは現在システムで一時停止されています。

以上になります。

Win32_Service クラスに関連するサンプルコードは他に、

を紹介しています。
なお WMI の使い方 (VB6, VBS, VBA, VB.NET, VC#, PowerShell を対象) に関しては、WMI Step も参考にしてみてください。(WMI 初心者・入門編としてもおすすめです。) 各種言語を使用した WMI を使用するたたき台としてソースコードテンプレートも公開しています。WMI プログラム/スクリプト作成時に役立てば…と思っています。

また WMI にて取得した内容をメールで通知したいこともあると思います。VBS で CDO オブジェクトを使用したメール送信を方法を紹介していますので、こちらも参考にしてみてください。


Latest sample information

最近WMI Sampleへ追加したサンプルのご紹介です。

興味のあるサンプル・クラスがありましたら参考にしてみて下さい。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMI に関して調べているけど探し物が見つからない…という方は Search Result から検索してみましょう!!

MCP (Microsoft Certified Professional)、 MCA (Microsoft Certified Associate)CompTIA A+
一応 MCP (Microsoft Certified Professional)、MCA (Microsoft Certified Associate)、
CompTIA A+ を所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft 社のテクノロジーである WMI (Windows Management Instrumentation) の使い方を
Visual Basic を使ってのんびり公開しています
WMI は Windows 7 や Windows 8、Windows 10 で便利に使えますよ!
また VB や VBA、.Net (VB・C#) などの開発環境以外でも Win32/Win64 API に依存しないので WMIC や
WSH (VBS・JS)・PowerShell などスクリプト言語・コマンドラインから有効に活用が出来ます
Windows ベースの社内 IT システムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発に WMI はお勧めです

This website is created by Toh.
Copyright(C) 1997-2016 WMI Fun !! All rights reserved.
WMI Fun !! へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…