C#通过wmi读取系统信息

 需要监控服务器的一些系统信息,可以通过wmi接口进行数据读取:

 
     
/// <summary>
/// 获取数据
/// </summary>
public static void get ()
{

ManagementPath pathSearch
= new ManagementPath( " \\\\122.224.1.12\\Root\\CIMV2 " );
ManagementScope scope
= new ManagementScope(pathSearch);
scope.Options.Username
= " user " ;
scope.Options.Password
= "pwd " ;

SelectQuery select
= new SelectQuery( " select * from win32_logicaldisk " );

// SelectQuery select = new SelectQuery("SELECT * FROM Win32_NTLogEvent where TimeWritten>='2011-1-3' and Logfile='SYSTEM'");

ManagementObjectSearcher search
= new ManagementObjectSearcher(select);
search.Scope
= scope;

int i = 0 ;
foreach (ManagementObject obj in search.Get())
{
if (obj[ " DriveType " ].ToString() != " 3 " )
continue ;
Console.WriteLine(obj[
" Name " ].ToString());
Console.WriteLine(obj[
" VolumeName " ].ToString());
Console.WriteLine(obj[
" Size " ].ToString());
Console.WriteLine(obj[
" FreeSpace " ].ToString());

/// /if (obj["EventType"].ToString() != "1")
/// / continue;
// Console.WriteLine(obj["Message"].ToString());
/// /Console.WriteLine(obj["VolumeName"].ToString());
/// /Console.WriteLine(obj["Size"].ToString());
/// /Console.WriteLine(obj["FreeSpace"].ToString());
}


}



/// <summary>
/// 判断是32位系统还是64位系统
/// </summary>
/// <returns></returns>
public static string Detect3264()
{
ManagementPath pathSearch
= new ManagementPath(   \\\\122.224.1.12\\Root\\CIMV2   );
ManagementScope scope
= new ManagementScope(pathSearch);
scope.Options.Username
= "user " ;
scope.Options.Password
= " Pwd " ;

SelectQuery select
= new SelectQuery( " select AddressWidth from Win32_Processor " );
ManagementObjectSearcher search
= new ManagementObjectSearcher(select);
search.Scope
= scope;
string addressWidth = null ;
foreach (ManagementObject oReturn in search.Get())
{
addressWidth
= oReturn[ " AddressWidth " ].ToString();
}

return addressWidth;
}

通过wmi接口远程访问有安全隐患,解决方法:

1.IP安全策略,需要开启wmi服务和135端口。

2.防火墙过滤,和Ip策略类似

遇到的问题

返回:“没有发现指定的此对象导出者”。

在本地机器的目录:C:\WINDOWS\system32\drivers\etc,在此目录下的hosts文件中增加一行:<目标机器ip>    <目标机器计算机名>

 

vbs操作wmi的一些demo

 

 

posted on 2011-05-09 16:50  Henry.Lau 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Henry1225/archive/2011/05/09/2041311.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值