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

WMI Fun !! > WMI Sample (VBS) > PCをシャットダウンする

Panasonic Let'snoteを長年愛用しています、その理由はMy Let'snoteで…
インクを買うよりもしかしたら安い?インクジェット複合機Canon PIXUS MP493
ビジネスにパソコンを活用する為のバイブル、月刊仕事とパソコン

PCをシャットダウンする: Win32_OperatingSystem - WMI Sample (VBS)

Topics

WMIを使用してPCをシャットダウンするサンプルプログラムです。Win32_OperatingSystemクラスのShutdownメソッドを使用します。

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


Sample Code

Option Explicit

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

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

'コレクションを解析する。
For Each oClass In oClassSet

oClass.Shutdown

Next

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


Comment

実行するとPCをシャットダウンしてしまいます。
今回重要な点は「Security.Privileges.Add wbemPrivilegeShutdown」の部分です。ここでローカルシャットダウンの特権を与えています。実際試してみるとわかるのですがこの部分を消して実行するとシャットダウンは出来ません。
ちなみに今回のシャットダウンでは環境に依るかもしれませんが完全に電源が落ちないケースもあるようです。 ACPI等に対応していて電源断までサポートしているのであれば、Win32Shutdownメソッドを実行してみてください。
例としては、「Win32Shutdown x」という形で実行します。ちなみにxの部分が引数になっており、

0:ログオフ 1:シャットダウン 2:再起動 8:電源断

というような仕様になっているようです。

Win32_OperatingSystem クラスに関連するサンプルは他に、

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


Recommended book

個人的にお勧めする本の紹介です。


Latest sample information

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

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


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

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

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

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

∧ ページの先頭へ…