需要脚本来监控服务器上的可用空间,如果可用内存空间完成某个阈值,则发送警报邮件。
PS - 我认为解决方案将是 Power Shell + Windows Timer Job。不过,我是 Power Shell 的新手。
需要脚本来监控服务器上的可用空间,如果可用内存空间完成某个阈值,则发送警报邮件。
PS - 我认为解决方案将是 Power Shell + Windows Timer Job。不过,我是 Power Shell 的新手。
您需要处理 WMI 对象。
http://technet.microsoft.com/en-us/library/dd315295.aspx
可能不需要编写脚本。如果您在 Wk3 Server 上,您可以对卷启用配额管理。W2k8 也将配额管理扩展到卷文件夹。
您可以使用如下命令获取可用磁盘空间:
([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 脚本中,您可以使用 Windows 调度程序进行调度。