From: "つちや" Date: 2003-10-26T00:53:53+09:00 Subject: [ruby-list:38659] RubyからWMIを操作する方法について はじめまして。つちやと申します。 Windows2000,XP等において、WMIはPCの情報がいろいろ取得できたりして便利ですが、 過去ログでWMIについて検索させていただくと、WMIに接続する場合は、 ActiveScriptRuby経由でWIN32OLE.newを使う話が出てまいります。 そこで疑問が出てきたのですが、 WSHからWMIに接続する場合は、CreateObjectではなく、GetObjectを使うわけですが、 RubyからWMIに接続する場合は、WIN32OLE.newではなくて、WIN32OLE.connectの方を 使った方がいいかとは思うのですが、どうなのでしょうか。 たとえば次のような場合です。(PCのメーカーやシリアル番号を調べる場合です) ##ここから require "win32ole" systemSet = WIN32OLE.connect("winmgmts:").InstancesOf("Win32_BIOS") systemSet.each do |system| puts system.Manufacturer puts system.Name puts system.SerialNumber puts system.Version end ##ここまで このようにすれば、ActiveScriptRuby+CScript経由でなくとも接続できるようですが、 WIN32OLE.connectで接続する例がないのは、 この方法に何か問題があるからなのでしょうか。 それともただ単にWMIを使う人が少なくて気づかれることがなかっただけなので しょうか。 #運用にあたって、ちょっと不安だったもので。。