![如何在 Exchange 2010 中找出没有 SEND AS SELF 标志的用户](https://linux22.com/image/571620/%E5%A6%82%E4%BD%95%E5%9C%A8%20Exchange%202010%20%E4%B8%AD%E6%89%BE%E5%87%BA%E6%B2%A1%E6%9C%89%20SEND%20AS%20SELF%20%E6%A0%87%E5%BF%97%E7%9A%84%E7%94%A8%E6%88%B7.png)
我正在寻找一种方法来查找所有未在 Exchange 2010 中设置“以自己的身份发送”标志的用户。如果没有该标志,用户将无法通过 SMTP 发送电子邮件,而且似乎有些用户缺少此标志(尤其是曾经是域管理员等的用户)
我猜这应该类似于下面的查询,尽管这应该显示拥有 Send-as 的用户(不完全是,因为它隐藏了用户名),而我正在寻找没有 Send-as 的用户。
[PS] C:\Windows\system32>Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*")}
Identity User Deny Inherited
-------- ---- ---- ---------
LGBSPL.LGBS/LGBS/... NT AUTHORITY\SELF False False
LGBSPL.LGBS/LGBS/... NT AUTHORITY\SELF False False
答案1
使用 foreach 循环遍历所有邮箱及其权限,然后打印出没有出现“NT AUTHORITY\SELF”的邮箱的身份:
$mboxes = Get-Mailbox -ResultSize Unlimited
foreach($mbox in $mboxes){
$currentAlias = $mbox.Alias
$sendSelf = $mbox | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*") -and ($_.User -like "NT AUTHORITY\SELF")}
if($sendSelf -eq $null){
Write-Host "The user $currentAlias does not have permission to send as himself"
}
}
保存为 .ps1 文件并从 EMS 执行,即可:-)