using System; using System.Management; using System.IO; namespace RemoteDiskSpace { /// /// Summary description for Class1. /// class Class1 { /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { ConnectionOptions opt = new ConnectionOptions(); ObjectQuery oQuery = new ObjectQuery("SELECT Size, FreeSpace, Name, FileSystem FROM Win32_LogicalDisk WHERE DriveType = 3"); StreamReader oReader = new StreamReader("computers.txt"); StreamWriter writer = new StreamWriter("diskSpace.html"); writer.WriteLine(""); writer.WriteLine(@""); string sLine = String.Empty; while (sLine != null) { sLine = oReader.ReadLine(); if( sLine != null) { ManagementScope scope = new ManagementScope("\\\\" + sLine + "\\root\\cimv2", opt); ManagementObjectSearcher moSearcher = new ManagementObjectSearcher(scope, oQuery); ManagementObjectCollection collection = moSearcher.Get(); writer.WriteLine(""); Console.Write("Trying " + sLine + "..."); foreach(ManagementObject res in collection) { decimal size = Convert.ToDecimal(res["Size"])/1024/1024/1024; decimal freeSpace = Convert.ToDecimal(res["FreeSpace"])/1024/1024/1024; writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } Console.WriteLine("done!"); } } Console.WriteLine("Please open diskSpace.html for result"); writer.WriteLine("
Machine Drive Size GB Free Space GB Free Space % FileSystem
" + sLine + "
" + res["Name"] + "" + Decimal.Round(size, 2) + " GB " + Decimal.Round(freeSpace, 2) + " GB " + Decimal.Round(freeSpace/size, 2)*100 + "% " + res["FileSystem"] + "
"); writer.Close(); oReader.Close(); } } }