从活动域组

时间:2016-03-31 17:57:29

标签: powershell active-directory

我想向活动域组中的用户发送电子邮件通知。我可以使用net group [groupname] /domain获取用户列表,然后使用net user [username]获取用户详细信息。但是我无法使用net user获取用户电子邮件地址。有没有办法通过powershell做到这一点?

3 个答案:

答案 0 :(得分:1)

只需安装Active Directory module:我们将使用Get-ADGroupMember来获取群组成员,然后使用Get-ADUser获取所需的任何其他信息(在这种情况下,就是电子邮件)。

$ADGroup = "myGroup"
$ADServer = "myADServer"
Import-Module ActiveDirectory
$myGroupMembers = (Get-ADGroupMember -Identity "$($ADGroup)" -Server $ADServer)
Write-Host "Group: $($ADGroup)" -ForegroundColor Yellow
foreach ($myName in $myGroupMembers.Name)
{ 
    $myEmailAddr = Get-ADUser -Identity $myName -Server $ADServer -Properties mail | Select-Object -ExpandProperty mail
    Write-Host " $($myName) $($myEmailAddr)"
}

答案 1 :(得分:0)

如果您安装了Active Directory PowerShell模块,这是微不足道的:

Import-Module ActiveDirectory;
$Recipients = Get-ADGroupMember $GroupName | Get-AdUser -Properties mail | Select-Object -ExpandProperty mail;
Send-MailMessage -SmtpServer $ServerName -To $Recipients [...]

答案 2 :(得分:0)

查看Active Directory PowerShell module

在您的情况下,我们可以使用Get-ADGroupMember cmdlet检索组成员,并使用Get-ADUser检索其他详细信息:

$GroupMembers = Get-ADGroupMember GroupName
foreach($Member in $GroupMember){
    $User = Get-ADUser $Member -Properties mail
    $EmailAddress = $User.Mail
    # Send mail to $EmailAddress here
}