Powershell 磁盘使用空间监控,并使用dbmail发送邮件

简介:
复制代码
$server = "(local)"
$uid = "sa"
$db="master"
$pwd="fanzhouqi"
$mailprfname = "sina"
$recipients = "XXXX@qq.com"
$subject = 'disk usage monitor'
function sendmail($message)
{
    $SqlConnection = New-Object System.Data.SqlClient.SqlConnection 
    $CnnString ="Server = $server; Database = $db;User Id = $uid; Password = $pwd" 
    $SqlConnection.ConnectionString = $CnnString 
    $CC = $SqlConnection.CreateCommand(); 
    if (-not ($SqlConnection.State -like "Open")) { $SqlConnection.Open() } 
    
    $cc.CommandText=" EXEC msdb..sp_send_dbmail 
            @profile_name  = '$mailprfname'
            ,@recipients = '$recipients'
            ,@body = '$message'
            ,@subject = '$subject'
" 
    $cc.ExecuteNonQuery()|out-null 
    $SqlConnection.Close();
}

$output = Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3" -ComputerName . |  Format-Table deviceid,@{Label="free(GB)"; Expression={$_.freespace/1024/1024/1024}},@{Label="size(GB)"; Expression={$_.size/1024/1024/1024}} -AutoSize | Out-String
sendmail $output
复制代码

并创建计划任务执行:

bat 脚本 powershell.exe -File "F:\Disk Usage Monitor.ps1" -nointeractive




    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/archive/2012/06/05/2536296.html,如需转载请自行联系原作者




相关文章
|
5月前
|
JSON 监控 API
公司电脑监控软件中的PowerShell代码实现系统管理
**摘要:** PowerShell在Windows系统管理中发挥关键作用,允许管理员通过脚本轻松监控资源。例如,使用`Get-WmiObject`获取CPU和内存使用率,`Get-NetTCPConnection`监控网络连接和特定端口流量,以及管理文件系统。此外,通过`Invoke-RestMethod`可将这些数据发送到Web API,实现自动报告和分析。这提高了效率,确保了企业IT基础设施的稳定运行。
115 0
|
监控 小程序
利用PowerShell写的一个CPU监控小程序
业务部门需要,所以写的一个CPU监控小程序,有窗口显示,同时会在当前目录生成日志,有需要的自取,复制代码,TXT另存为xx.ps1即可。 仅供学习交流。
199 0
|
6月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
159 0
|
监控 Windows
Windows Server端口监控之powershell脚本
powershell检测端口并重启程序
670 0
|
监控 数据安全/隐私保护 运维
下一篇
无影云桌面