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

WMI Fun !! > WMI Sample (VB) > コンピュータの種類を取得する

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

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

Topics

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

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



Sample Code

Private Sub Command1_Click()

Dim SeSet As SWbemObjectSet
Dim Se As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String
Dim I As Long

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer

Set SeSet = Service.ExecQuery _
("Select * From Win32_SystemEnclosure")

For Each Se In SeSet

For I = Lbound(Se.ChassisTypes) To Ubound(Se.ChassisTypes)

Select Case Se.ChassisTypes(i)

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

Next

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

Set SeSet = Nothing
Set Se = Nothing
Set Locator = Nothing
Set Service = Nothing

End Sub



Comment

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

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

他にもこんなマシンではこういう値が帰ってきたよという結果を教えていただければここにどんどん記述して行こうと思います。
なお 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はWindows 7やWindows 8、Windows 10で便利に使えますよ! またVB/VBAや.Net(VB,C#)などの開発環境以外でもAPIに依存しないのでWMICやWSH(VBS,JS)・PowerShellなどスクリプト言語から有効に活用が出来ます
Windowsベースの社内ITシステムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発にWMIはお勧めです

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

∧ ページの先頭へ…