2004.10.05

社内パソコン管理

会社のパソコンの台数が増えてくると、どの程度の性能のものが何台くらいあるのかわからなくなってくることがある。
各自が勝手にメモリやHDを増やしたりするとなおさら。

こういう場合、Windowsマシンであれば、適度な権限さえあれば、外部から WMIという仕組みを利用して
リモートでパソコンの性能を調査することができる。

アイロベックスでも、定期的に決まった日の昼休みに、勝手に各社員のパソコンの性能調査をして記録し、
即席の資産管理表を作るところまで自作で半自動化している。

大概の社員は気づいてもいないのだけど。

---投稿者一言コメント----------

//コード例(C#)
 static void Main(string[] args) {
  string strPath = @"\\" + args[0] + @"\root\cimv2";
  ConnectionOptions conOptions = new ConnectionOptions();
  conOptions.Username = "domain\administrator";
  conOptions.Password = "password";
  conOptions.Authentication = AuthenticationLevel.Default;
  conOptions.Impersonation = ImpersonationLevel.Impersonate;
  ManagementScope objScope = new ManagementScope(strPath, conOptions); // リモートコンピュータ用のスコープ
  //ManagementScope objScope = new ManagementScope(strPath); // ローカルコンピュータ用のスコープ

  objScope.Connect();
  ManagementObjectSearcher objSearcher = new ManagementObjectSearcher(objScope, new WqlObjectQuery("SELECT * FROM Win32_Processor")); //CPUについて調査
  foreach ( ManagementBaseObject objVar in objSearcher.Get() ) {
   IEnumerator objEnum = objVar.Properties.GetEnumerator();
   while ( objEnum.MoveNext() ) {
    try {
     PropertyData objProperty = (PropertyData)objEnum.Current;
     System.Console.WriteLine(objProperty.Name + "\t" + objVar.GetPropertyValue(objProperty.Name).ToString());
    } catch ( System.NullReferenceException ne ) {
    }
   }
  }
 }

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
ichikawa