2016-03-31 83 views
1

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

回答

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)" 
} 
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 [...] 
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 
} 
相关问题