2012-06-14 21 views
2

需要脚本来监视服务器上的可用空间并且如果空闲内存空间去完成某个阈值发送警报邮件。服务器管理 - 需要脚本来监视服务器上的可用空间

PS - 我认为解决方案将是Power Shell + Windows计时器作业。尽管我是Power Shell的新手。

+0

谢谢大家的回复,我能够在服务器上实现计划的计时器作业。 – bkk

回答

3

可以使用这样的命令来获得可用磁盘空间:

([wmi]"\\$computer\root\cimv2:Win32_logicalDisk.DeviceID='$drive'").FreeSpace 

你CAND使用下面的函数发送电子邮件:

function Send-EMail 
{ 
    param (
     [parameter(Mandatory = $false)][string] $EmailTo = "<Your destination email>", 
     [parameter(Mandatory = $false)][string] $EmailFrom = "<The sending email address>", 
     [parameter(Mandatory = $false)][string] $EmailSubject = "Disk space problem", 
     [parameter(Mandatory = $false)][string] $SMTPServer = "<your smtp server>" 
    ) 

    $MailMessage = New-Object System.Net.Mail.MailMessage 
    $MailMessage.From = ($EmailFrom) 
    $MailMessage.To.Add($EmailTo) 
    $MailMessage.Subject = $EmailSubject 
    $MailMessage.Body = $EmailBody 
    $MailMessage.IsBodyHTML = $true 

    $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
    $SMTPClient.Send($MailMessage) 
} 

现在结合这两种在PowerShell脚本中运行,您可以schedule with Windows scheduller