今回は、OSのインベントリ情報を自動的に取得するにはどうすればいいでしょうか?という質問です。
この質問を解決するべく、ダブルクリックするだけでOSのインベントリ情報(端末の型名、製造番号、PC名、NIC、MACアドレス、IPアドレス、サブネット、ゲートウェイ、優先DNS、代替DNS)をcsv形式で取得するスクリプトをVBSで作成してみました。
仕様
<スクリプトの動作の大まかな流れ>
- スクリプトを実行する。
- スクリプトを実行した端末のインベントリ情報を取得する。
- カレントディレクトリに「inventory.csv」がなければ作成。あれば次へ。
- 2で取得したインベントリ情報を「inventory.csv」に書き込む。
<取得するインベントリ情報>
取得するインベントリ情報は以下の通り。
なお、NICが2つ以上ある場合は、L列以降に順次追記します。
列 | 項目 |
---|---|
A | 実行日時 |
B | 型名 |
C | 製造番号 |
D | コンピューター名 |
E | NIC名 |
F | MACアドレス |
G | IPアドレス |
H | サブネットマスク |
I | デフォルトゲートウェイ |
J | 優先DNSサーバー |
K | 代替DNSサーバー |
L | 2枚目以降のNIC情報を取り出します。 |
… | … |
<注意点>
- スクリプト実行時にNICを物理的にリンクアップさせておく必要があります。
- 完全サイレント仕様です。
下準備をする
まず、スクリプトを以下の場所からダウンロードしてください。
GetInventory.vbs
ダウンロードしたスクリプトを任意のフォルダにいれたら、準備完了です。
※なお、フォルダごとUSBフラッシュメモリかサーバー上に置いてから端末を一台一台実行していくのをおすすめします。(実行順にどんどん追記していく仕様のため)
スクリプトを実行する
インベントリ情報を取得したい端末でスクリプトをダブルクリックします。
スクリプトと同じフォルダに「inventory.csv」が新規作成されます。
「inventory.csv」を開いてみると情報が書き込まれています。
順次、スクリプトを実行していくとデータは追記されていきます。
もうひとつの実行方法
参考までにコマンドからスクリプトを呼び出す方法も紹介します。
コマンドからスクリプトを呼び出す場合には、以下のバッチを利用します。
@echo off echo. echo =================================== echo インベントリ情報を取得しています... echo =================================== echo. rem ----- インベントリ情報の取得 ----- cscript "%~dp0\getinventory.vbs" pause exit
バッチをさきほどのフォルダにコピーして「管理者として実行」をすれば、OKです。
処理が完了すると「続行するにはなにかキーを押してください」と表示されます。
スクリプトと同じフォルダに「inventory.csv」が新規作成されます。
同様に「inventory.csv」を開いてみると情報が書き込まれています。
[dfads params=’groups=121&limit=1&orderby=random’]
[dfads params=’groups=89&limit=1&orderby=random’]