私はSQLに接続し、データセットを取り出してフォーマットするスクリプトを作成しています。私はその後、Htmlテーブルとともに各チームのマネージャーにEメールを送る必要があり、後半に進む最善の方法を考えることはできません。Powershellデータテーブルからの一括メール
データがそうのようにフォーマットされます。Team | Item | Manager email
すべての項目がユニークなので、いくつかは同じチームと同じメールの横に表示することができます。次のような
しまう何かが実行可能なこと:
For each $_.ManagerEmail in $dataset (build html output containing each unique item)
は、彼らは明らかに一つだけのメールではなく、各項目のための1つを受けるべきです。
ご意見やご質問はどうぞ。
EDIT: 入力していただきありがとうございます。私はMathiasの提案を実装しようとしましたが、スクリプトは出力もエラーもなくなっています。私は問題がここにあるので、SQLの部分が正常に動作することを知っている。
foreach($ManagerSet in $Dataset.Rows |Group-Object "Manager Email")
{
$Items = $ManagerSet.Group |Select-Object Item
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.To = $ManagerSet.ManEmails
$Mail.Subject = "Test" $Mail.Body = 'Testing. Failures include' + $managerset.itemname + $managerset.Info1 $Mail.Send()
}
私が逃したものはありますか?
あなたはおそらくすべてのアイテムを通過し、それらを並べ替える必要があるでしょう、あなたはいくつかのアイテムのために1つの電子メールを送信する場合、私はそれを達成するための他の方法は表示されません – 4c74356b41