收集2012集群共享卷空间使用状况,并用邮件通知管理员

从Windows2012开始,ClusterStorageVolume再也不是直接以盘符的方式出现了,在个人电脑中,没法直接看到,而是显示在C:\ClusterStorage\下面html

clip_p_w_picpath001

 

若是要查看大小、使用状态,须要进到Failover Cluster Managert管理界面,进到存储设备、磁盘、而后选某一个卷,才能够查大小、空间使用状况等;shell

clip_p_w_picpath002

 

或是进到磁盘管理界面的选中磁盘、右键、属性查看服务器

clip_p_w_picpath003

 

以前我有发一个收集服务器硬盘空间的工具,http://hubuxcg.blog.51cto.com/2559426/1310783,可是没法针对2012的Cluster共享卷!dom

最近恰好有个需求,用户要求以收集服务器硬盘空间的方式,来收集Cluster共享卷上的空间使用状况,针对上次的脚本作出修改,完成了专门针对2012的Cluster共享卷的PS脚本工具,分享给你们:ide


使用方法:工具

下载附件PS脚本文件,依需求修改如下定制post


1)脚本设定的空间底于30%×××显示警告,空间底于10%红色显示警告,若是要修改,请将如下值修改成你想要的(7-8行):测试

$percentWarning=30;htm

$percentCritcal=10;blog

 

2)修改收件人邮箱,即那我的或是那些人要收到通知邮件(12或13行):

$users=“Email.address@Yourdomain.com“

若是须要给多个邮件人,请修改成(14行):

$users=“Email.address1@Yourdomain.com “,”Email.address2@Yourdomain.com

 

3)修改报告生成目录(18行)

$reportPath="D:\script\";

 

4)修改SMTP服务器及发件人邮件地址(206-215行):

$smtpServer = "Server.yourdomain.com"

$smtp = New-Object Net.Mail.SmtpClient($smtpServer)

$msg = New-Object Net.Mail.MailMessage

$msg.To.Add($user)

$msg.From = "Email.address@yourdomain.com "

$msg.Subject = "ClusterStorageSpace Report for $titledate"

$msg.IsBodyHTML = $true

$msg.Body = get-content $diskReport

$smtp.Send($msg)

$body = ""

 

5)在PowerShell中测试若是脚本不能执行,请修改脚本执行策略

clip_p_w_picpath005

可参考文章:http://hubuxcg.blog.51cto.com/2559426/1309431#590523中第二步。

 

6)建立计划任务,让脚本自动在指定时间运行!

Powershell –file”D:\Script\CheckDiskSpace_Cluster_post_51cto.ps1”

可参考文章:http://hubuxcg.blog.51cto.com/2559426/1309431#590523中第4-9步

执行后生成的html文件效果以下:

clip_p_w_picpath006

 

7)收到的邮件效果以下:

clip_p_w_picpath007

 

说明:此脚本须要PowerShell集群管理功能:Import-Module FailoverClusters,并要以管理员身份执行。

相关文章
相关标签/搜索