Sql-Server

用於以 HTML 格式發送帶有 SQL 結果的電子郵件的 PowerShell 腳本

  • May 7, 2020

有沒有人有 PowerShell 腳本來查詢 SQL Server 數據庫中的結果並將其作為 HTML 格式的電子郵件發送出去?

以下是我用來以 HTML 格式的電子郵件發送查詢結果的腳本。基本上管道invoke-sqlcmdtoConvertTo-Html和 to的結果Out-String,然後稍微按摩一下,讓表格很好地顯示。如果您不添加填充樣式,則所有內容都會一起執行。

Send-MailMessage下面的範例用於未經身份驗證,因此如果您必須對 SMTP 伺服器進行身份驗證,則需要修復它

$Alerts = invoke-sqlcmd -ServerInstance dbserver -Database dbname -Query "SELECT * FROM some_table" | SELECT Severity, ServerName, Heading | ConvertTo-Html | Out-String
$Alerts = $Alerts.Replace("</head>", "<style> TD {padding-left: 2mm}</style></head>")
Send-MailMessage -To me@mycompany.com -From me@mycompany.com -BodyAsHtml $Alerts -Subject "Alerts" -SmtpServer "smtp.mycompany.com"

引用自:https://dba.stackexchange.com/questions/266717