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

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

Panasonic Let'snoteを長年愛用しています、その理由はMy Let'snoteで…
インクを買うよりもしかしたら安い?インクジェット複合機HP Photosmart 5510
白いご飯や日本酒にもとても合うにしんのきりこみがマイブームです

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

Topics

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

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


Sample Code

Private Sub Command1_Click()

Dim OsSet As SWbemObjectSet
Dim Os As SWbemObject
Dim Locator As SWbemLocator
Dim Security As SWbemSecurity
Dim Service As Object
Dim MesStr As String
Const wbemPrivilegeShutdown = 18


Set Locator = New WbemScripting.SWbemLocator
Set Security = Locator.Security_
Security.Privileges.Add wbemPrivilegeShutdown
Set Service = Locator.ConnectServer
Set OsSet = Service.ExecQuery _
("Select * From Win32_OperatingSystem")

For Each Os In OsSet

Os.Shutdown

Next

Set OsSet = Nothing
Set Os = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub


Comment

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

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

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

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


Recommended book

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


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
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 !!へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします。

∧ ページの先頭へ…