【发布时间】:2020-11-02 18:28:03
【问题描述】:
我有一个脚本,它可以在变量中返回一些用户名。我现在需要一封包含每个用户特定文本的邮件(在一封邮件中)。 我得到用户名“abcdef,popefp,nvmwmn”
假设我需要文本:
你好 abcdef 你好popefp 你好 nvmwmn
如何从我的代码中创建 foreach?我在迷路的地方写了 $help。
Get-ADObject -SearchBase "OU=Mailbox,OU=Global,OU=Group,OU=1,DC=test,DC=it,DC=nl" -Filter 'ObjectClass -eq "group"' | Select Name | ForEach-Object -Process {
$username = ($_.Name -replace "G_test_Mailbox_", "") #>> "C:\temp\export-adusers.csv"
$enabled = (Get-ADUser -Filter ('SamAccountName -eq "'+$username+'"') | Select-Object Enabled)
if(!($enabled).Enabled){
#if($enalbed -eq $false){
$username
}
}
$emailbody = foreach ($help in $username){
"hello $username"}
$PSEmailServer = "smtp.wow.nl"
Send-MailMessage -to "getthemail@wow.nl" -From "test@wow.nl" -Subject "mailbox" -Body "$emailbody"
【问题讨论】:
-
我不会那样做。 [grin] 相反,在消息中使用通用的群组问候语,然后将各种电子邮件地址放在 TO、CC 或 BCC 地址行中。
-
这只是一个例子,邮件是给另一个系统管理员的,里面会有一个代码+用户名,所以他可以复制粘贴。
-
那我不明白你到底想要什么。 [脸红]我会回去潜伏,让其他更聪明的人帮助你......祝你好运! [咧嘴]
标签: powershell foreach send mailmessage