【发布时间】:2021-07-26 05:59:27
【问题描述】:
我正在尝试查询 SQL 数据库,然后遍历每个数据集以发送包含数据的电子邮件。
下面是一个示例数据集 - 因此对于记录 1,我的目标是向 powershell1@whyme.com 发送一封电子邮件,其中包含该特定记录的政策信息,以此类推其余记录。
PolicyNumber PSN TransactionPremium EmailAddress Record
ABC DE3 0000012183 00 8636692 14109 powershell1@whyme.com 1
FGH JI3 0000012183 00 8636693 -14199 powershell2@whyme.com 2
KLM NO3 0000000774 03 8556541 -1664 powershell3@whyme.com 3
PRS TU3 0000000943 03 8579971 0 powershell4@whyme.com 4
HCA HO3 0000000969 03 8603944 -1425 powershell5@whyme.com 5
但是在从查询返回数据后,我无法弄清楚如何遍历每条记录并发送电子邮件。
$Instance = "sqlinstancename"
$Database = "databasename"
$SQL = @'
SELECT TOP (5) PolicyNumber, PSN, CAST(TransactionPremium AS DECIMAL(19,4)) AS TransactionPremium, EmailAddress
FROM dbo.TableName ORDER BY BatchDate DESC
'@
Invoke-DbaQuery -SqlInstance $Instance -Database $Database -Query $SQL
我认为它会是这样的:
ForEach ($i in i)
{
Send-MailMessage -From "noreply@companyx.com" -To $EmailAddress -Subject "Test" -BodyAsHTML $PolicyNumber"
}
我可以就如何完成这项任务获得一些帮助吗?
【问题讨论】:
标签: sql-server powershell