我做一個關于不活躍帳戶的月度報告,并想向負責服務帳戶的經理發送一封電子郵件,通知他們根據我的資料,這些帳戶已超過 30 天沒有使用。.csv 檔案。當我運行我的腳本時,它只在電子郵件中為 csv 檔案中的每個條目顯示一個用戶。
$Users =
@"
Manager;inactiveADAccount
[email protected];test_1;test_2;test_3
[email protected];test_4
"@ | ConvertFrom-Csv -Delimiter ";"
ForEach($Manager in $Users) {
$bodytxt = @"
Hello,
Please verify users below
$($Manager.inactiveADAccount)
"@
$Message = New-Object System.Net.Mail.MailMessage
$Message.From = New-Object System.Net.Mail.MailAddress '[email protected]'
$To = $Manager.Manager
$Object = "Inactive Accounts"
$body = $bodytxt
$SMTPServer = 'mail.domain.com'
Send-MailMessage -From $Message.From -To $To -Subject $Object -Body $body -BodyAsHtml -SmtpServer $SMTPServer -Priority High -Encoding UTF8
}
uj5u.com熱心網友回復:
您的 CSV 檔案構建不正確。
查看 CSV 檔案的結果:
Manager inactiveADAccount
------- -----------------
manager_1@domain.com test_1
manager_2@domain.com.ca test_4
如您所見,csv 中省略了 test_2 和 test_3 用戶...
為每個用戶和管理員使用一行,這應該是:
$Users =
@"
Manager;inactiveADAccount
[email protected];test_1
[email protected];test_2
[email protected];test_3
[email protected];test_4
"@ | ConvertFrom-Csv -Delimiter ";"
現在包括所有用戶:
Manager inactiveADAccount
------- -----------------
manager_1@domain.com test_1
manager_1@domain.com test_2
manager_1@domain.com test_3
manager_2@domain.com.ca test_4
然后將結果分組并發送郵件:
foreach ($Manager in $Users | group Manager) {
$bodytxt = @"
Hello,
Please verify users below
$($Manager.Group.inactiveADAccount | Out-String)
"@
[...]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/358618.html
標籤:电源外壳
