.NETアプリケーションにリモートオートメーションを付ける
WMIは……大げさかな。
http://msdn.microsoft.com/library/ja/cpguide/html/cpconManagingApplicationsUsingWMI.asp
後でここ見ながらサンプルかいてみるー
IISメタベース操作
下書き。清書したらブログへ。
- WMIとADSIの両方が使える
- WMIはSystem.ManagementServices.ManagementObject
- 名前空間(スコープ)はroot/MicrosoftIISv2
- パスはw3svc/1/ROOT/***
- WMI Code Creatorやwbemtest.exe(Windows付属)が便利
- 列挙はManagementObjectSearcherを使って検索するか、あるいはManagementObjectClass.GetInstancesを使って全部取得する
- プロパティ変更はManagementObject.Properties を変更してManagemnetObject.Put
- メソッド呼び出しはManagementObject.InvokeMethod
- .NET Framework SDK の MgmtClassGen.exe ユーティリティを使うと、型指定されたラッパークラスを作成できる
- ADSIはSystem.DirectoryServices.DirectoryEntry
- パスはIIS://localhost/w3svc/1/ROOT/***
- パスに応じたオブジェクトが取れる
- オブジェクトの実体はWMIのオブジェクトと同じなので、プロパティやメソッドを知るにはWMI Code Creatorやwbemtest.exeが便利
- DirectorySearcherは使えないようだ
- 子オブジェクトはDirectoryEntry.Children
- 子オブジェクトの検索はDirectoryEntry.Children.Find(名前, "")
- 子オブジェクトの追加はDirectoryEntry.Children.Add
- プロパティ変更はDirectoryEntry.Properties を変更して DirectoryEntry.CommitChanges
- メソッド呼び出しはDirectoryEntry.Invoke
Strutsは、むずかしすぎて使えない!
一方PHPは鉛筆を使った。
すんません、書いてみたかっただけです。