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

简介: $server = "(local)" $uid = "sa" $db="master" $pwd="fanzhouqi" $mailprfname = "sina" $recipients = "XXXX@qq.
$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

目录
相关文章
|
4月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
54 0
|
6月前
|
Linux Shell 调度
Linux 系统&自动清理日志实现脚本
1.删除文件命令:find 对应目录 命令选项
122 0
|
XML 安全 Linux
kvm虚拟机管理之一(磁盘压缩,用户密码重设,快照建立)
kvm虚拟机管理之一(磁盘压缩,用户密码重设,快照建立)
456 0
|
消息中间件 安全 Kafka
winlogbeat收集windows系统日志
winlogbeat收集windows系统日志
1041 0