動作していないデバイスをリストアップする

面白そうな記事だったので、ちょっと試してみました。


ネタ元は、CodeProjectです。

 

    * How to Get a List of Non-Working Devices Using VB.NET
          o http://www.codeproject.com/KB/system/GetNonWorkingDevicesVbNet.aspx
    * Developer Source
          o http://www.developersource.net/DevPage.aspx?ID=12


WMIを利用するんですね~。勉強になります。


CodeProjectにあるサンプルはVBで記述されていたので同じような内容でC#で書いてみました。

 

 

using System;
using System.Linq;
using System.Management;

namespace ShowNotWorkingDevices {

    class Program {

        static void Main(string[] args) {

            (new Program()).Execute();

            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();
        }

        private void Execute() {
            //
            // 動作していないデバイスをリストアップ.
            //
            var wmi   = new ManagementObjectSearcher("SELECT * FROM Win32_PnpEntity WHERE ConfigManagerErrorCode <> 0");                        
            var query = from mo in wmi.Get().Cast<ManagementObject>()
                        let description = mo["Description"]
                        where !string.IsNullOrEmpty(description as string)
                        select mo;

            foreach (var device in query) {
                Console.WriteLine("Description={0}, ErrorCode={1}", device["Description"], device["ConfigManagerErrorCode"]);
            }
        }

    }

}

 

WMIって名前は知っていたんですが、初めて使いました。便利ですね~これ。

いろんな情報が取得できるみたいです。

 

Published 2010年1月13日 16:13 gsf_zero1
分類:

コメント

# re: 動作していないデバイスをリストアップする

WMI使うと、コンピュータをシャットダウンしたり、別コンピュータ上でプログラムを起動するなんてのも出来ますよ。

2010年1月13日 19:37 by gushwell

# re: 動作していないデバイスをリストアップする

>WMI使うと、コンピュータをシャットダウンしたり、別コンピュータ上でプログラムを起動するなんてのも出来ますよ。

そんな事もできちゃうんですか!

ちょっと本腰いれて勉強しようかな・・・。

情報ありがとうございます。

2010年1月13日 19:59 by gsf_zero1

# 動いていないデバイスをリストアップする ~PowerShell編~

ちょーご無沙汰しております。 HIROです。 本年もよろしくお願いいたします。 最近サボり気味ですが、ぼちぼち活動を復活させていきたいと思います。 ちなみに裏方でHIRO&#39;s.NETをVS2010対応させています

2010年1月15日 11:00 by HIRO's.NET Blog

コメントを残す

(必須) 
(必須) 
(オプション)
(必須)