WMI Fun !! 〜 WMI に興味がある方・システム管理者は必見です! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|Enquete|About WMI Fun !!
 My Let'snote|Personal|Insomnia|Link

WMI Fun !! > WMI Step > WMI でリモートコンピュータへアクセス

このエントリーをはてなブックマークに追加
Panasonic Let'snote を長年愛用しています、その理由は My Let'snote で…
中古車買うならやっぱりカーセンサーnet、お気に入りの 1 台が見つかります
IT 関連情報を気軽に知りたい方へ、キーマンズネットがおすすめです

WMI でリモートコンピュータへアクセス - WMI Step

Topics

前回のステップで紹介したサンプルを改良して今度はリモートコンピュータに対してWMIを使ってメモ帳をリモート実行させ起動してみたいと思います。
以下のサンプルコードを入力してください。



Sample Code

Private Sub Command1_Click()

Dim Prc As SWbemObject
Dim Locator As SWbemLocator
Dim Service As Object
Dim Ret As Long
Dim PID As Long
Dim MesStr As String

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer("LONDON", , "administrator", "password")
Set Prc = Service.Get("Win32_Process")

Ret = Prc.Create("notepad.exe", Null, Null, PID)

MsgBox "メモ帳を起動しました。" & vbCrLf & _
"PIDは、" & CStr(PID) & "ですよ。"

Set Prc = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub



Comment

実行する条件としてここではリモート上のコンピュータ名は「LONDON」で、「administrator」アカウントのパスワードは「password」とします。今回ポイントになる部分は、

Set Service = Locator.ConnectServer("LONDON", , "administrator", "password")

です。
以前も説明しましたが ConnectServer メソッドにはいくつかの引数があります。ConnectServer メソッドを使用する際に全ての項目を省略すれば自分自身に対してログオンしているアカウント情報を使用し自分自身に接続が行われます。今回のサンプルのように実行した場合は「LONDON」コンピュータに対して「administrator」アカウント「password」パスワードを使用して接続を行うということになります。
実行した結果「LONDON」コンピュータ上でリモート実行させ起動したメモ帳の PID が帰ってくるはずです。実際リモートコンピュータ上でタスクマネージャを起動して PID を確認してみましょう。
この様にWMIを使えばリモートコンピュータ上の管理も色々出来るわけです。今回はメモ帳を実行したわけですが別に他のクラスを使用して値の取得をすることも出来ますし違うメソッドを実行することも可能です。

ちなみにコンピュータ名を指定する際にローカルコンピュータ名を指定して、別アカウントを使って WMI に ConnectServer しようとしてもアクセス拒否エラーになって接続に失敗します。
ローカルコンピュータへ接続する際にはコンピュータ名やユーザー名・パスワードを指定するのを辞め、実際に使用するユーザー名でログインした上で ConnectServer して下さい。

リモートコンピュータへの WMI 接続は DCOM を使用して接続を行っているようです。よって WMI が使用する TCP ポートは MS-RPC (ポート TCP 135) になります。
ポートフィルタリングやファイアーウォールを構成しているネットワークやクライアントに於いてはこのポートを開放する必要がある点を頭に入れておくとトラブルシューティングの際に役立つかもしれません。

(注意 2002/09/29)
Windows XP 以降 (.Net Server や Windows 2000 SP2 など) ではリモートでプロセスを作成しても実行画面は表示されない仕様に変わってしまったようです。プロセス自身は問題なく作成されるわけなのでセキュリティの向上という名目でしょうがデスクトップと対話的にやり取りが出来ない仕様になったようですね。

次は「WMI でプロパティ値の書き込みをしてみよう」です。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMI に関して調べているけど探し物が見つからない…という方は Search Result から検索してみましょう!!

MCP (Microsoft Certified Professional)、 MCA (Microsoft Certified Associate)CompTIA A+
一応 MCP (Microsoft Certified Professional)、MCA (Microsoft Certified Associate)、
CompTIA A+ を所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft 社のテクノロジーである WMI (Windows Management Instrumentation) の使い方を
Visual Basic を使ってのんびり公開しています
WMI は Windows 7 や Windows 8、Windows 10 で便利に使えますよ!
また VB や VBA、.Net (VB・C#) などの開発環境以外でも Win32/Win64 API に依存しないので WMIC や
WSH (VBS・JS)・PowerShell などスクリプト言語・コマンドラインから有効に活用が出来ます
Windows ベースの社内 IT システムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発に WMI はお勧めです

This website is created by Toh.
Copyright(C) 1997-2016 WMI Fun !! All rights reserved.
WMI Fun !! へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…