首页 > 代码库 > 收集2012集群共享卷空间使用情况,并用邮件通知管理员

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

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

技术分享

 

如果要查看大小、使用状态,需要进到Failover Cluster Managert管理界面,进到存储设备、磁盘、然后选某一个卷,才可以查大小、空间使用情况等;

技术分享

 

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

技术分享

 

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

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


使用方法:

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


1)脚本设定的空间底于30%黄色显示警告,空间底于10%红色显示警告,如果要修改,请将以下值修改为你想要的(7-8行):

$percentWarning=30;

$percentCritcal=10;

 

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中测试如果脚本不能执行,请修改脚本执行策略

技术分享

可参考文章: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文件效果如下:

技术分享

 

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

技术分享

 

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

本文出自 “大向技术分享” 博客,请务必保留此出处http://hubuxcg.blog.51cto.com/2559426/1902389

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