Я ищу способ найти всех пользователей, у которых не установлен флаг SEND AS SELF в Exchange 2010. Без этого флага пользователи не могут отправлять электронные письма через 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
Используйте цикл 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, и вот он :-)