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