C#获取本地或远程磁盘使用信息
因为公司有多个服务器,要检查磁盘的使用情况确定程序放哪个服务器和清理垃圾,所以写个小程序帮忙检查。
效果图:
后台代码:
private void btnCheck_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
if (rbtnRemote.Checked)
{
//远程
RemoteDisk();
}
else
{
//本地
LocalDisk();
}
}
//查看本地
private void LocalDisk()
{
WqlObjectQuery wmiquery = new WqlObjectQuery("select * from Win32_LogiCalDisk");
ManagementObjectSearcher wmifind = new ManagementObjectSearcher(wmiquery);
//显示
ShowInfo(wmifind);
} //远程
private void RemoteDisk()
{
if (cbIP.Text == "" | cbUserName.Text == "" | txtPwd.Text == "")
{
MessageBox.Show("请把信息补充完整!");
return;
}
string ip = cbIP.Text;
string username = cbUserName.Text;
string password = txtPwd.Text;
ConnectionOptions conn = new ConnectionOptions();
conn.Username = username;
conn.Password = password;
conn.Timeout = new TimeSpan(,,,);//连接时间 //ManagementScope 的服务器和命名空间。
string path = string.Format(@"\\{0}\root\cimv2", ip);
//表示管理操作的范围(命名空间),使用指定选项初始化ManagementScope 类的、表示指定范围路径的新实例。
ManagementScope scope = new ManagementScope(path, conn);
scope.Connect();
//查询
string strQuery = "select * from Win32_LogicalDisk ";
ObjectQuery query = new ObjectQuery(strQuery);
//查询ManagementObjectCollection返回结果集
ManagementObjectSearcher wmifind = new ManagementObjectSearcher(scope, query);
ShowInfo(wmifind);
} #region 显示磁盘信息
private void ShowInfo(ManagementObjectSearcher wmifind)
{
long gb = * * ;
string type = "";
string str = "";
double freePath = 0d;
foreach (var mobj in wmifind.Get())
{
type = mobj["Description"].ToString();
//判断是否是本机固盘
if (type == "Local Fixed Disk")
{
str = " 磁盘名称:" + mobj["Name"].ToString();
freePath = Math.Round(Convert.ToDouble(mobj["FreeSpace"]) / gb, );
str += " 可用空间:" + freePath+ "G";
str += " 实际大小:" + Math.Round(Convert.ToDouble(mobj["Size"].ToString()) / gb, ) + "G";
if (freePath < )
{
str += " ----请尽快清理!";
}
listBox1.Items.Add(str);
}
}
}
#endregion private void rbtnLocal_CheckedChanged(object sender, EventArgs e)
{
//本地选中
if (rbtnLocal.Checked == true)
{
cbIP.Enabled = false;
cbUserName.Enabled = false;
txtPwd.Enabled = false;
}
} private void rbtnRemote_CheckedChanged(object sender, EventArgs e)
{
if (rbtnRemote.Checked == true)
{
cbIP.Enabled = true;
cbUserName.Enabled = true;
txtPwd.Enabled = true;
}
}
C#获取本地或远程磁盘使用信息的更多相关文章
- 获取本地IP和mac等信息
1获取mac protected string getHostMacName() { string mac = ""; ManagementClass mc; mc = new M ...
- java sigar获取本地信息以及org.hyperic.sigar.SigarException: The device is not ready报错解决
window下,使用java sigar 获取磁盘使用率,cpu使用率以及内存使用情况等信息时. 一:首先需要下载jar包和相关文件 sigar-1.6.4.zip 如果想了解更多可以去 sigar官 ...
- 获取本地IP地址信息
2012-06-05 /// <summary> /// 获取本地IP地址信息 /// </summary> void G ...
- python获取esxi的磁盘使用率信息
#!/usr/bin/python3 #coding:utf-8 #Author: ziming """ 只用于模拟开发功能测试 """ f ...
- Android 获取本地外网IP、内网IP、计算机名等信息
一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...
- 通过wmi获取本地硬件信息的一些疑问。
通过wmi获取本地硬件信息的一些疑问. http://bbs.csdn.net/topics/391017789 http://blog.csdn.net/xcntime/article/detail ...
- Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site
Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...
- JavaScript获取客户端计算机硬件及系统等信息的方法
JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...
- IOS本地,APNS远程推送(具体过程)
添加本地推送 ///本地添加 -(void)addLocalPushNotification:(UIButton*)sender; { NSLog(@"%s",__FUNCTION ...
随机推荐
- (String) | String.valueOf()
Map m = new HashMap(); Integer i = 5; String s = null; m.put("val1", i); m.put("val2& ...
- Linux 统计某个字符串出现的次数
要统计一个字符串出现的次数,这里现提供自己常用两种方法: 1. 使用vim统计 用vim打开目标文件,在命令模式下,输入 :%s/objStr//gn 即可 2. 使用grep: grep -o ob ...
- 如何启动ResourceManager和NodeManager
登录到bigtop1上,vagrant ssh bigtop1 将/usr/lib/hadoop/libexec/init-hdfs.sh文件内容替换为: #!/bin/bash -ex # # Li ...
- img标签中的图片加载异常时显示默认的图片
备忘:
- 打包时Xcode报:此证书的签发者无效Missing iOS Distribution signing identity
问题描述 今天准备打包上传AppStore,结果Xcode报以下错误:Missing iOS Distribution signing identity for XXXXXX 查看证书后发现,Deve ...
- 日暮·第二章·烽烟传讯
第二章 烽烟传讯 夜幕降临,整个泉州府更见喧闹,那些个白日里将养了一日的花红柳绿再也耐不住寂寞,招招摇摇着在人来人往的主街上舒展着自己的风情,妖妖娆娆地换却春风一度. 城东的招福客栈在经过了 ...
- GNU风格 ARM汇编语法指南
汇编源程序一般用于系统最基本的初始化:初始化堆栈指针.设置页表.操作 ARM的协处理器等.这些初始化工作完成后就可以跳转到C代码main函数中执行. 1. GNU汇编语言语句格式 任何Linux汇编 ...
- C#下水晶报表打印自定义纸张
在VB6中,如果要自定义纸张很方便: Rpt.PaperSize = crPaperUser Rpt.SetUserPaperSize lZZG, lZZK 但在C#中却不行了,没有发现 SetU ...
- python + hadoop (案例)
python如何链接hadoop,并且使用hadoop的资源,这篇文章介绍了一个简单的案例! 一.python的map/reduce代码 首先认为大家已经对haoop已经有了很多的了解,那么需要建立m ...
- [转]C++学习–基础篇(书籍推荐及分享)
C++入门 语言技巧,性能优化 底层硬货 STL Boost 设计模式 算法篇 算起来,用C++已经有七八年时间,也有点可以分享的东西: 以下推荐的书籍大多有电子版.对于技术类书籍,电子版并不会带来一 ...