好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

远程服务器监控程序浅谈

远程服务器监控程序浅谈

参考文献:

用C#开发较完整的Windows任务管理器

http://www.cnblogs.com/lemony/archive/2007/04/11/708309.html 

Win32_ClassName列表名单:

http://www.codeproject.com/KB/system/GetHardwareInformation.aspx

软件名称:远程服务器监控程序。

软件功能:监视CPU、内存、硬盘、进程的使用情况

开发方法:C# 查询WMI信息

调用接口:本地查看视图或远程访问XML文件

运行平台:WindowsXP/Windows Server2003/Windows Server2008(已测试)

一、基础知识:Win32的类库,测试程序如下:

<1>代码如下:

protected void btnOK_Click( object sender, EventArgs e)
{
try
{
#region 远程访问
// string className = txtClass.Text.Trim();
// System.Management.ConnectionOptions conn = new ConnectionOptions();
// conn.Username = "tiancomputer\\administrator";
// conn.Password = "admin";
// ManagementScope ms = new ManagementScope("\\\\tiancomputer\\root\\cimv2", conn);
// ms.Connect();
/// /ObjectQuery query = new ObjectQuery(string.Format("select * from Win32_LogicalDisk where DriveType = '{0}'", (int)(System.IO.DriveType.Fixed))); //
// ObjectQuery query = new ObjectQuery(string.Format("select * from {0}", className)); //
// ManagementObjectSearcher search = new ManagementObjectSearcher(ms, query);
// ManagementObjectCollection moc = search.Get();
// foreach (ManagementObject mo in moc)
// {
// txtMsg.Text += "\n";
// foreach (PropertyData item in mo.Properties)
// {
// txtMsg.Text += string.Format("{0} = {1}\n", item.Name, mo[item.Name]);
// }
// }
#endregion

#region 本地访问
string className = txtClass.Text.Trim();

ManagementScope ms = new ManagementScope( " \\\\tiancomputer\\root\\cimv2 " ); // ManageMentScope(path, conn):conn,不能使用本地账户
ms.Connect();
// ObjectQuery query = new ObjectQuery(string.Format("select * from Win32_LogicalDisk where DriveType = '{0}'", (int)(System.IO.DriveType.Fixed))); //
ObjectQuery query = new ObjectQuery( string .Format( " select * from {0} " , className)); //
ManagementObjectSearcher search = new ManagementObjectSearcher(ms, query);
ManagementObjectCollection moc = search.Get();
foreach (ManagementObject mo in moc)
{
txtMsg.Text += " \n " ;
foreach (PropertyData item in mo.Properties)
{
txtMsg.Text += string .Format( " {0} = {1}\n " , item.Name, mo[item.Name]);
}
}
#endregion
}
catch (Exception ex1)
{

}
}

<2>运行效果如下:

查询计算机用户/群组信息

 

ManageMentClass对象如下:

Win32_NetworkAdapter

Win32_NetworkAdapterConfiguration

Win32_Group

Win32_Processor

Win32_PhysicalMemory

Win32_DiskPartition

Win32_LogicalDisk

Win32_DiskDrive

Win32_CDROMDrive

Win32_BIOS

Win32_ComputerSystem

Win32_OperatingSystem

Win32_StartupCommand

……………..

详情参数见附件

 附件下载: ManageMentClass对象名单

二、  服务器监控程序运行效果

三、  附件代码,欢迎大家下载、修改、完善。

有改善的发我一份( tiandong19860806@126.com ),目前还没有办法做“网站信息”监控,只能通过:开始-->cmd-->isapp命令,

查到IIS 程序池 对应的进程占用CPU、Memory信息。

代码下载: SeverMonitor(2011.03.31 11.10).rar

 

 

分类:  C#学习讨论

标签:  C# WMI 开发 ,  服务器监控开发

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于远程服务器监控程序浅谈的详细内容...

  阅读:44次