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

作者:简简单单 2012-06-06
 代码如下 复制代码

$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

相关文章

精彩推荐