tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルM/Bステータス取得方法
記事No861
投稿日: 2004/05/26(Wed) 10:02
投稿者でった
[OSのVer]:Windows XP pro   [VBのVer]:VB.NET  
端末のハードウェア情報(M/Bの名称やシリアル番号)、
NICに設定されているMACアドレスの取得方法をネット等で
調べたのですが情報が得られませんでした。
こんなAPI等を使用したら可能ですといった方法がありましたら、
ご教示ください。

MACアドレスに関してはコマンド NBTSTAT -A IP
みたいなことができるAPIはないのでしょうか。

[ツリー表示へ]
タイトルRe: M/Bステータス取得方法
記事No871
投稿日: 2004/05/30(Sun) 00:42
投稿者魔界の仮面弁士
> 端末のハードウェア情報(M/Bの名称やシリアル番号)、
> NICに設定されているMACアドレスの取得方法をネット等で
> 調べたのですが情報が得られませんでした。

WMI(Windows Management Instrumentation)経由で取得できるかと思います。

M/Bの情報ならWin32_BaseBoardクラス、
MACアドレスなら、Win32_NetworkAdapterクラスですね。

[ツリー表示へ]
タイトルRe^2: M/Bステータス取得方法
記事No877
投稿日: 2004/06/01(Tue) 12:58
投稿者でった
> > 端末のハードウェア情報(M/Bの名称やシリアル番号)、
> > NICに設定されているMACアドレスの取得方法をネット等で
> > 調べたのですが情報が得られませんでした。
>
> WMI(Windows Management Instrumentation)経由で取得できるかと思います。
>
> M/Bの情報ならWin32_BaseBoardクラス、
> MACアドレスなら、Win32_NetworkAdapterクラスですね。
魔界の仮面弁士様情報提供ありがとうございます。

MACアドレスについては何とか自力で作成し、案内通り
Win32_NetworkAdapterクラスを使用して、値を取得することにができました。

M/Bの方は、今からWin32_BaseBoardクラスについて調べて作成してみようと
思います。

.NETって使用すればするほどHELPがとても解り難いですね><
1.7GBもインストールしたのに...

[ツリー表示へ]
タイトルRe^3: M/Bステータス取得方法
記事No881
投稿日: 2004/06/02(Wed) 15:24
投稿者でった
M/Bステータス取得ですが、以下の様に組んで実行したのですが
3台PCでテストし、マザーボードの製品名が取得できるPCとでき
ないPCとがあり、バージョンの方は全く取得できませんでした。
バージョンは取得できなくても構わないのですが、製品名を全端末
にて取得したいのですが何か方法があるでしょうか?

取得したいPC
IBM機 デスクトップ数種類,ノート数種類
です。

Dim moSearch As New ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard")
Dim mo As ManagementObject
Dim strMes As String
For Each mo In moSearch.Get()
    strMes = "マザーボードの製造元:" & _
             NothingToBlankStr(mo.Item("Manufacturer")).ToString & vbCrLf
    strMes = strMes & "マザーボードの製品名:" & _
             NothingToBlankStr(mo.Item("ProDuct")).ToString & vbCrLf
    strMes = strMes & "マザーボードのバージョン:" & _
             NothingToBlankStr(mo.Item("Version")).ToString
Next
MsgBox(strMes)

[ツリー表示へ]
タイトルRe^4: 自己レス
記事No907
投稿日: 2004/06/11(Fri) 09:57
投稿者でった
WMIのWin32_BaseBoardクラスを使用し、
ProDuctにてマザーの型番を取得できない時には、
Win32_ComputerSystemクラスを使用し、
Modelにて型番を抜き出すように2重処理にしました。

数台テストしたところ2000/XPにて正常に取得することが
できているので今のところ問題ないようです。

[ツリー表示へ]