- PR -

リモートコンピュータのシステム情報を取りたい

1
投稿者投稿内容
Q
会議室デビュー日: 2005/10/07
投稿数: 4
投稿日時: 2005-10-22 15:33
こんにちは、Qと申します。

社内のネットワーク上のパソコンについて、
システム情報を収集するツールを作成したいと思っています。
(PCメーカや、モデル名、CPU、メモリなど)
WMIを利用し、下記のようなソースを書いてみましたが
自分のPCの情報はうまく取れるのですが、
サーバ名のところを他のPCにすると「RPCサーバが利用できません」
のメッセージが出て、うまく動きません。
対処法などご存知の方いらっしゃいましたら、ご教授ください。
なお、PCのOSはXPです。
<パターン1>
Set swServices = GetObject("winmgmts:\\" & "compname" & "\root\cimv2")
Set swObjectSet = swServices.ExecQuery("Select * from Win32_ComputerSystemProduct", , 48)
For Each swObject In swObjectSet
strWork = strWork & "■" & swObject.Vendor & ":" & swObject.Name & vbNewLine
Next
MsgBox (strWork)

<パターン2>
Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer("compname", , "administrator", "password")
Set swObjectSet = swServices.ExecQuery("Select * from Win32_ComputerSystemProduct", , 48)
For Each swObject In swObjectSet
strWork = strWork & "■" & swObject.Vendor & ":" & swObject.Name & vbNewLine
Next
MsgBox (strWork)
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-10-22 18:21
こんばんわ.
引用:

Qさんの書き込み (2005-10-22 15:33) より:

社内のネットワーク上のパソコンについて、
システム情報を収集するツールを作成したいと思っています。


「アクセサリ」にもまさに「システム情報」なるツールがありますけど,
複数の PC が対象なので script なのですよね,きっと.
引用:

自分のPCの情報はうまく取れるのですが、
サーバ名のところを他のPCにすると「RPCサーバが利用できません」
のメッセージが出て、うまく動きません。


remote 側の WindowsXP の ServicePack の version は?
その際の personal firewall の機能の有無は?
その手の情報は概ね WindowsRPC(135/tcp)の通信を利用するのではないかと.
対面でその通信が抑制されていたらそのようになると思われます.

以上,ご参考までに.
senbei
会議室デビュー日: 2004/09/12
投稿数: 7
投稿日時: 2005-10-24 18:29
まず、WindowsServerを利用したドメインですか?
それとも、ワークグループですか?

WMIを利用する場合は、管理者権限が必用です。

ドメインであれば、DomainAdminsに所属するアカウントで取得できると思います。
XP sp2以降または、W2k3 sp1以降でWindows FireWallを使用すると、GPMCでリモート管理の例外を許可する必要があります。


ワークグループの場合は、それぞれのPCのadministrator権限が必用です。
ただし、XP sp2以降は、Windows FireWallを使用すると、リモート管理の例外を許可するサーバーが無いため、ワークグループでは、情報を取得できないと思いました。
1

スキルアップ/キャリアアップ(JOB@IT)