如何在 Exchange 2010 中查找没有 SEND AS SELF 标志的用户

Mad*_*Boy 6 email powershell exchange-2010

我正在寻找一种方法来查找在 Exchange 2010 中没有设置 SEND AS SELF 标志的所有用户。没有该标志,用户将无法通过 SMTP 发送电子邮件,而且似乎有些用户缺少此标志(尤其是用户谁曾经是域管理员等)

我想这必须与下面的查询类似,尽管这应该显示具有 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
Run Code Online (Sandbox Code Playgroud)

Mat*_*sen 3

使用 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"
    }
}
Run Code Online (Sandbox Code Playgroud)

保存为 .ps1 文件并从 EMS 执行,然后就完成了:-)