#从邮件组发送列表中删除已离职人员 Add-PSSnapin microsoft.exchange* Import-Module activedirectory $RemoveGroupSenderslog = "D:\Scripts\Remove.log" #从通讯组发送列表中删除已离职人员 $txzs = Get-DistributionGroup foreach ($g in $txzs) { #导出该邮件组的发件人列表 $fromSenders = $g.AcceptMessagesOnlyFrom [array]$fromSenders_false = $none foreach ($user in $fromSenders) { $userinfor = get-aduser $user.DistinguishedName #判断用户是否离职 if ($userinfor.enabled -eq $false) { $fromSenders_false += $userinfor.SamAccountName } } #判断是否有已离职人员存在 if ($fromSenders_false.count -gt 0) { #从邮件组发送列表中删除已离职人员 $now = get-date -UFormat "%Y-%m-%d %H:%M:%S" $galias = $g.Alias $galias "$now GroupName: $galias" |out-file $RemoveGroupSenderslog -append $fromSenders_false |out-file $RemoveGroupSenderslog -append Set-DistributionGroup -Identity $g.Alias -AcceptMessagesOnlyFrom @{remove=$fromSenders_false} } }
本文介绍了一种使用 PowerShell 脚本的方法,该方法能够自动从 Exchange 服务器上的邮件组发送列表中移除已离职员工的账户。通过与 Active Directory 的交互,此脚本能够检查每个成员的状态,并对离职成员进行相应的移除操作。
1万+

被折叠的 条评论
为什么被折叠?



