サーバのディスク容量がかなりの危機です おもにIISのログが膨張していて・・・(^^;;
なのでもともとはvbsで作ろうと思っていたディスク容量監視プログラムを簡単にC#でこさえてみました。
このSystem.Net.Mailは非常に曲者で便利に使えるのに、日本語処理がダメダメで・・・
おがわさんにソースをもらったのでそいつを改良していいメールクライアントを作りたいですね。(^^
namespace Wankuma.わんくまサーバディスク容量監視
{
class Program
{
static void SendMail( string body)
{
MailAddress from = new MailAddress("from");
MailAddress to = new MailAddress("to");
MailMessage message = new MailMessage(from, to);
message.Subject = "わんくまサーバディスク容量監視";
message.Body = body;
SmtpClient client = new SmtpClient(Wankuma.わんくまサーバディスク容量監視.Properties.Settings.Default.SMTPサーバ名);
client.Send(message);
}
static void Main(string[] args)
{
using (ManagementObjectSearcher Searcher = new ManagementObjectSearcher("Select * from Win32_LogicalDisk where DriveType=3"))
{
using (ManagementObjectCollection moc = Searcher.Get())
{
StringBuilder MailBody = new StringBuilder();
foreach (ManagementObject mo in moc)
{
string DeviceID = (string)mo.Properties["DeviceID"].Value;
UInt64 Size = (UInt64)mo.Properties["Size"].Value;
UInt64 FreeSpace = (UInt64)mo.Properties["FreeSpace"].Value;
int 利用済みパーセント = 100 - (int)((Decimal)FreeSpace / (Decimal)Size * 100);
MailBody.Append(string.Format("{0}\t{1:###,###}MB\t{2:###,###}MB\t({3:###}%)\t{4}\r\n", DeviceID, FreeSpace / 1024 / 1024, Size / 1024 / 1024, 利用済みパーセント, 利用済みパーセント > 90 ? "CAUTION!!!" : ""));
}
SendMail(MailBody.ToString());
}
}
}
}
}