服务器管理 - 需要脚本来监视服务器上的可用空间

时间:2012-06-14 04:31:21

标签: windows powershell

需要脚本来监控服务器上的可用空间如果可用内存空间已经完成某个阈值发送警报邮件。

PS - 我认为解决方案将是Power Shell + Windows Timer Job。我是Power Shell的新手。

2 个答案:

答案 0 :(得分:3)

您需要处理WMI对象。

http://technet.microsoft.com/en-us/library/dd315295.aspx

可能没有必要编写脚本。如果您使用的是Wk3服务器,则可以在卷上启用配额管理。 W2k8还将配额管理扩展到卷文件夹。

http://technet.microsoft.com/en-us/library/cc733029.aspx

答案 1 :(得分:3)

您可以使用如下命令获得可用磁盘空间:

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

您可以使用以下功能发送电子邮件:

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