首页 > 代码库 > 收集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集群共享卷空间使用情况,并用邮件通知管理员