インベントリ情報を取得後に、
現在ログインしているユーザーのデスクトップにインベントリ情報を保存したい。
※ファイル名は、「yyyymmddログインユーザー名.txt」
------------------------------
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems1 = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
Set colItems2 = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
Set colItems3 = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,48)
For Each objItem in colItems1
Wscript.Echo objItem.Caption 'OS
Wscript.Echo objItem.CSDVersion 'サービスパック
Next
For Each objItem in colItems2
Wscript.Echo objItem.Name 'コンピュータ名
Wscript.Echo objItem.Domain 'ドメイン名
Wscript.Echo objItem.UserName 'ユーザー名
Next
For Each objItem in colItems3
WScript.Echo objItem.Vendor 'ベンダー
WScript.Echo objItem.Name '機種名
WScript.Echo objItem.IdentifyingNumber 'シリアルナンバー
Next
---------------------------------------
こんな感じでしょうか。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems1 = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48) Set colItems2 = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48) Set colItems3 = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,48) ret = "" For Each objItem in colItems1 ret = ret & "OS = " & objItem.Caption & vbNewLine ret = ret & "サービスパック = " & objItem.CSDVersion & vbNewLine Next For Each objItem in colItems2 ret = ret & "コンピュータ名 = " & objItem.Name & vbNewLine ret = ret & "ドメイン名 = " & objItem.Domain & vbNewLine ret = ret & "ユーザー名 = " & objItem.UserName & vbNewLine userName = objItem.UserName 'ユーザー名 Next For Each objItem in colItems3 ret = ret & "ベンダー = " & objItem.Vendor & vbNewLine ret = ret & "機種名 = " & objItem.Name & vbNewLine ret = ret & "シリアルナンバー = " & objItem.IdentifyingNumber & vbNewLine Next FilePath = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop") _ & "\" & Replace(FormatDateTime(Now, 2),"/","") _ & Replace(userName, "\", "_") & ".txt" CreateObject("Scripting.FileSystemObject").CreateTextFile( FilePath ).Write ret
こんな感じでしょうか。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems1 = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48) Set colItems2 = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48) Set colItems3 = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,48) ret = "" For Each objItem in colItems1 ret = ret & "OS = " & objItem.Caption & vbNewLine ret = ret & "サービスパック = " & objItem.CSDVersion & vbNewLine Next For Each objItem in colItems2 ret = ret & "コンピュータ名 = " & objItem.Name & vbNewLine ret = ret & "ドメイン名 = " & objItem.Domain & vbNewLine ret = ret & "ユーザー名 = " & objItem.UserName & vbNewLine userName = objItem.UserName 'ユーザー名 Next For Each objItem in colItems3 ret = ret & "ベンダー = " & objItem.Vendor & vbNewLine ret = ret & "機種名 = " & objItem.Name & vbNewLine ret = ret & "シリアルナンバー = " & objItem.IdentifyingNumber & vbNewLine Next FilePath = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop") _ & "\" & Replace(FormatDateTime(Now, 2),"/","") _ & Replace(userName, "\", "_") & ".txt" CreateObject("Scripting.FileSystemObject").CreateTextFile( FilePath ).Write ret
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems1 = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48) Set colItems2 = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48) Set colItems3 = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,48) str = "" For Each objItem in colItems1 str = str & "OS:" & objItem.Caption str = str & "サービスパック:" & objItem.CSDVersion Next For Each objItem in colItems2 str = str & "コンピュータ名:" & objItem.Name str = str & "ドメイン名:" & objItem.Domain str = str & "ユーザー名:" & objItem.UserName Next For Each objItem in colItems3 str = str & "ベンダー:" & objItem.Vendor str = str & "機種名:" & objItem.Name str = str & "シリアルナンバー:" & objItem.IdentifyingNumber Next path = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" fname = Replace(FormatDateTime(Now, 2), "/", "") & Replace(userName, "\", "_") & ".txt" CreateObject("Scripting.FileSystemObject").CreateTextFile(path & fname).Write str
コメント(2件)
キャプチャ取得の上、規約違反通知しておきました。
だわかき の盗作回答(2013/04/29 13:18:35)
(しかも中身を理解しないで userName を対応していないから仕様通り動かないし。)
-----------------------------------------
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems1 = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
Set colItems2 = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
Set colItems3 = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,48)
str = ""
For Each objItem in colItems1
str = str & "OS:" & objItem.Caption
str = str & "サービスパック:" & objItem.CSDVersion
Next
For Each objItem in colItems2
str = str & "コンピュータ名:" & objItem.Name
str = str & "ドメイン名:" & objItem.Domain
str = str & "ユーザー名:" & objItem.UserName
Next
For Each objItem in colItems3
str = str & "ベンダー:" & objItem.Vendor
str = str & "機種名:" & objItem.Name
str = str & "シリアルナンバー:" & objItem.IdentifyingNumber
Next
path = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
fname = Replace(FormatDateTime(Now, 2), "/", "") & Replace(userName, "\", "_") & ".txt"
CreateObject("Scripting.FileSystemObject").CreateTextFile(path & fname).Write str
-----------------------------------------
ログオンしているコンピュータの情報を確認したいということでしたら、
以下のツールを用いることで、デスクトップに情報を表示してくれます。
(設定により、WMI で追加情報を取得したり、Excel ファイルやテーブルに出力することも可能です。)
<参考情報>
■ BgInfo - Sysinternals
http://technet.microsoft.com/ja-jp/sysinternals/bb897557.aspx
■ Windows管理者必携ツール「Sysinternals」 - BgInfoを使いこなす:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20120601/399982/
■ BgInfoツールでマシン情報をデスクトップに表示させる- @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/1105bginfo/bginfo.html