NerdyHearn
Home
Blog

Contact
Mailing List

Software

Active Directory Products
Object Compare
Permission Compare

IPhone Products
Calls To Calendar
SMS To CSV
SMS To Gmail
Voicemail To Gmail

Sites
DocuTerminal
How Long For Me
My Music To Me
SaveMySerials
TypeCount

Blog
Twitter

NerdyHearn - Blog


<< Back To All Blogs

Almost Ready: NerdyHearn Diagnostics Library

Friday, December 28th, 2007

I have been working on a personal project for quite some time to make analyzing system stability and statistics quickly and easily from code. The main reason I have been working on this project is simple: I have family and friends all over the place with remote computer systems that need to consistently run stable and cannot crash.... what is the best way to make sure they don't crash.... monitor the system. If I see something irregular, I login to the system, and correct the problem as necessary. This is crucial in situations such as my parents' when they have vital information on their computers in Memphis, yet live in Brasil.

Introducing the NerdyHearn Diagnostics Library.

This library is a .NET 2.0 Framework library made for Windows XP and Windows Vista, to programmatically obtain information about systems and retrieve that information in human-readable format.

My goal was to make it very quick and easy to obtain mostly hardware based statistics, but also core operating system and software statistics as well. Let's take for example VideoControllers.

To obtain a list of the current system's VideoControllers I would do the following:

Diagnostics diag = new Diagnostics();

foreach (VideoController vc in diag.VideoControllers) {
MessageBox.Show(vc.ToString());
// All class's ToString() methods are overridden to return all of the available properties as a
// Name: value list. You can also access all properties such as:
MessageBox.Show(vc.Name);
}

The current list of classes that are currently available (and I have a bunch more planned for the future), are:
  • Accounts (User accounts)
  • Batteries (for laptops, portables, etc)
  • Bios (information about the hardware BIOS)
  • Boot Configurations (information about the system partitions for booting, etc)
  • CodecFiles (information about video codecs)
  • ComputerSystem (Information about the current computer)
  • DiskDrives (Information about physical hard drives, CDRoms, etc)
  • Environment (Information about environment variables)
  • ExtensionInfoActions (Information about how extensions are executed)
  • Fans (physical hardware fans and their current information)
  • FirewireControllers (Information about the system's firewire controllers)
  • FloppyDrives (Current system's floppydrives)
  • InfraredDevices (current system's infrared controllers)
  • Keyboards (current system's keyboards and input devices)
  • Monitors (Physical display monitors)
  • Mouse (Physical mice and input pointers)
  • NetworkAdapters (all the current computers network adapters)
  • NetworkProtocol (all of the current system's available network protocols)
  • OperatingSystem (information about the current operating system
  • ParallelPorts (All available parallel ports for the current system)
  • Printers (all current available printers for the physical system)
  • Process (all running processes for the current system)
  • Processors (all the available system processors)
  • ScheduledJobs (the current scheduled jobs for the system)
  • SerialPorts (all available serial ports for the system)
  • Services (all system services)
  • Shares (all shared network resources on the current system)
  • SoundDevices (all input and output sound devices on the current system)
  • StartupCommands (all commands and processes that are run upon system startup)
  • SystemDrivers (all system hardware drivers)
  • SystemSlots (all available and occupied system hardware slots)
  • Threads (all currently and previously run threads)
  • USBControllers (all the system's physical USB controllers)
  • USBHubs (all the system's physical USB hubs)
  • VideoControllers (all of the system's video controllers)
I plan to be releasing this library in the next few weeks for free personal, educational, and non-profit use. Stay posted, as I also have some pretty sweet upgrades planned for this library in the next few months.

Tom Out.

Comments

Currently no comments.

Add A Comment

Name:


URL:


Email Address: (not public, used to send notifications on further comments)


Comments:



Enter the text above, except for the 1st and last character:


NerdyHearn - Latest tech news relating to C#, ASP.NET, SharePoint, PHP, general development, and more. DocuTerminal - Online Filing Cabinet solution. Scan, search and archive your paper documents. SaveMySerials - Protect yourself from theft, fire, natural disasters and more by recording your serial numbers My Music To Me - Stream your subsonic music collection to your Sonos wireless system TypeCount - Count how often you type across different computers! ServrTrackr - Monitor your SSL certificates, website uptime, and DNS configurations