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) > コンピュータの種類を取得する

このエントリーをはてなブックマークに追加
IT 関連情報を気軽に知りたい方へ、キーマンズネットがおすすめです
私も使っていますお勧め SIM フリースマホ ASUS Zenfone
DMM mobile なら常に格安 SIM 業界最安値水準で使えます

コンピュータの種類を取得する: Win32_SystemEnclosure - WMI Sample (VBS)

Topics

コンピュータの種類 (ノートとかデスクトップとか) を取得するサンプルプログラムです。
Win32_SystemEnclosure クラスを使用します。

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

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



Sample Code

Option Explicit

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

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

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

For i = Lbound(oClass.ChassisTypes) To Ubound(oClass.ChassisTypes)

Select Case oClass.ChassisTypes(i)
Case 1:
sMesStr = sMesStr & "Other" & vbCrLf
Case 2:
sMesStr = sMesStr & "Unknown" & vbCrLf
Case 3:
sMesStr = sMesStr & "Desktop" & vbCrLf
Case 4:
sMesStr = sMesStr & "Low Profile Desktop" & vbCrLf
Case 5:
sMesStr = sMesStr & "Pizza Box" & vbCrLf
Case 6:
sMesStr = sMesStr & "Mini Tower" & vbCrLf
Case 7:
sMesStr = sMesStr & "Tower" & vbCrLf
Case 8:
sMesStr = sMesStr & "Portable" & vbCrLf
Case 9:
sMesStr = sMesStr & "Laptop" & vbCrLf
Case 10:
sMesStr = sMesStr & "Notebook" & vbCrLf
Case 11:
sMesStr = sMesStr & "Hand Held" & vbCrLf
Case 12:
sMesStr = sMesStr & "Docking Station" & vbCrLf
Case 13:
sMesStr = sMesStr & "All in One" & vbCrLf
Case 14:
sMesStr = sMesStr & "Sub Notebook" & vbCrLf
Case 15:
sMesStr = sMesStr & "Space -Saving" & vbCrLf
Case 16:
sMesStr = sMesStr & "Lunch Box" & vbCrLf
Case 17:
sMesStr = sMesStr & "Main System Chassis" & vbCrLf
Case 18:
sMesStr = sMesStr & "Expansion Chassis" & vbCrLf
Case 19:
sMesStr = sMesStr & "SubChassis" & vbCrLf
Case 20:
sMesStr = sMesStr & "Bus Expansion Chassis" & vbCrLf
Case 21:
sMesStr = sMesStr & "Peripheral Chassis" & vbCrLf
Case 22:
sMesStr = sMesStr & "Storage Chassis" & vbCrLf
Case 23:
sMesStr = sMesStr & "Rack Mount Chassis" & vbCrLf
Case 24:
sMesStr = sMesStr & "Sealed-Case PC" & vbCrLf

End Select

Next

Next

MsgBox "コンピュータの種類は、" & vbCrLf & vbCrLf & sMesStr & vbCrLf & "です。"

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



Comment

実際実行するとコンピュータがどんな種類なのか表示されます。 ChassisTypes プロパティは配列になっているため一応対応した形に記述してありますが今まで実行した限り値は一つしか入らないようです。ちなみに私自身で試したマシンの結果を書いておきます。

・Panasonic CF-B5ER : 14
・COMPAQ DeskPro EC 650 : 3
・DELL PowerEdge 1300: 6

他にもこんなマシンではこういう値が帰ってきたよという結果を教えていただければここにどんどん記述して行こうと思います。

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

を紹介しています。
なお 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 !! へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…