【问题标题】:Setting up Outlok Email to AD (Active Directory) Group Members in Power Shell在 Power Shell 中设置 Outlook 电子邮件到 AD (Active Directory) 组成员
【发布时间】:2014-09-24 18:11:22
【问题描述】:

我正在编写一个 PowerShell 脚本来执行以下操作:从现有的 Active Directory (AD) 组中提取所有电子邮件地址,然后使用这些地址填充一个新的、打开的 Outlook 电子邮件,以通知组成员。

这是我已经准备好的部分,它们都可以工作”

1) 获取电子邮件地址:

Get-ADGroupMember -identity "My Group" | Where-Object {$_.objectClass -eq 'user'} | Get-ADUser 
-Properties EmailAddress | where {$_.EmailAddress -ne $null} | select EmailAddress 

2) 在 Outlook 中开始新的电子邮件,准备发送(在网络上找到这个 sn-p)

$ol = New-Object -comObject Outlook.Application
$mail = $ol.CreateItem(0)
$mail.Subject = "<subject>"
$mail.Body = "<body>"
$mail.save()

$inspector = $mail.GetInspector
$inspector.Display()

所以我缺少的部分是如何将 1) 的输出通过管道传输到新电子邮件的 email.Recipients 字段中?谁能帮我解决这个问题?

【问题讨论】:

    标签: powershell active-directory outlook


    【解决方案1】:

    如果您希望将物品发送到第一部分返回的每个地址,那么这样的事情应该可以工作。

    $Group = Get-ADGroup "My Group"
    $Members = Get-ADGroupMember $Group | Where-Object {$_.objectClass -eq 'user'}
    ForEach($Member in $Members){
    $CurrentDN = $Member.distinguishedName
    $CurrentMember = Get-ADUser $CurrentDN -Properties mail| where {$_.mail -ne $null}
    $EmailTo=$EmailTo + $CurrentMember.mail + "; "}
    $ol = New-Object -comObject Outlook.Application
    $mail = $ol.CreateItem(0)
    $mail.To = $EmailTo
    $mail.Subject = "<subject>"
    $mail.Body = "<body>"
    $mail.save()
    $inspector = $mail.GetInspector
    $inspector.Display()
    

    【讨论】:

    • 我之前根据网络上的很多帖子尝试过 ForEach 循环......但这一切都是通过我的 To: 字段中的所有电子邮件地址运行,然后最终显示最后一封电子邮件像这样:@{EmailAddress=somebody@somewhere.com}。我想要的是同一封电子邮件中的所有地址 - 我猜是逗号分隔的格式。
    • 根据您的笔记编辑了脚本。
    • 就是这样,特雷。谢谢一堆。这将节省大量时间。学完Python,从C#开始,我要学PS!!!
    • 没问题。请记住,如果您从 ISE 运行它,如果您多次运行它,“$EmailTo”变量将保持复合,因此您可能需要使用“$EmailTo=$Null”来回收它
    【解决方案2】:

    将 MailItem.To/CC/BCC 属性设置为“;”分隔的地址列表。或为每个地址调用 MailItem.Recipients.Add。

    【讨论】:

    • 我忘了说我是通过反复试验得出上述内容的,而且对 PS 不太了解。那么如何将电子邮件地址的多行输出放入 Mail.to 中?
    猜你喜欢
    • 1970-01-01
    • 2021-05-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多