0

获取邮箱 | 获取邮箱权限-用户

获取邮箱 | Get-MailboxPermission -user | 其中 {$_.AccessRights -like "发送为*"}

获取邮箱 | 获取 ADPermission | 其中 {$_.extendedRights -like " send-as "}

以上所有命令都对我不起作用

4

2 回答 2

0

我终于让它在下面的这个脚本中工作了,在 Microsoft Exchange 命令行管理程序中运行这个脚本,确保在命令行管理程序中运行脚本之前执行策略全部被授予

对用户邮箱和共享邮箱具有完全访问权限的用户

获取邮箱 | Get-MailboxPermission -user $user | 其中 {($ .AccessRights -eq "FullAccess") -and -not ($ .User -eq "NT AUTHORITY\SELF")} | 格式表标识,用户

具有代理发送访问权限的用户

获取邮箱 | 获取 ADPermission -user $user | 其中 {($ .ExtendedRights -eq "*send-as*") -and -not ($ .User -eq "NT AUTHORITY\SELF")} | 格式表标识,用户

于 2018-07-14T17:59:26.073 回答
0

我会做这样的事情。它将输出所有共享邮箱和有权访问它的用户。对于每个用户,它都会显示邮箱的访问权限。根据用户和共享邮箱的数量,处理可能需要一段时间。

(因为[ordered],您需要 Powershell 版本 3 或更高版本。要在 Powershell 2 中使用它,请删除[ordered]。然后不能保证显示属性的顺序。)

function Get-AllMailboxPermissions {
    $allMailboxes = Get-Mailbox -ResultSize Unlimited | Sort-Object Identity

    if ($allMailboxes.Count -eq 0) {
        Write-Warning "No mailboxes found."
        return
    }
    foreach ($box in $allMailboxes) {
        $perms = $box | Get-MailboxPermission |
                        Where-Object { $_.IsInherited -eq $false -and $_.User.ToString() -ne "NT AUTHORITY\SELF" -and $_.User.ToString() -notmatch '^S-1-' } |
                        Sort-Object User

        foreach ($prm in $perms) {
            $user = Get-Recipient -Identity $($prm.User.ToString()) -ErrorAction SilentlyContinue
            # skip inactive (deleted) users
            if ($user -and $user.DisplayName) { 
                $props = [ordered]@{
                    "Mailbox"      = "$($box.Identity)"
                    "User"         = $user.DisplayName
                    "AccessRights" = "$($prm.AccessRights -join ', ')"
                }
                New-Object PsObject -Property $props
            }
        }
    }
}

您可能希望将此信息保存在 csv 文件中。在这种情况下,像这样调用函数:

Get-AllMailboxPermissions | Export-Csv -Path '<PATH-TO-OUTPUT.CSV>' -NoTypeInformation -Encoding UTF8 -Force

提示:如果您希望能够通过在同一台机器上双击打开 Excel 中的 csv,Export-Csvcmdlet 有一个非常有用的开关-UseCulture。这样,csv 文件中的分隔符将与 Excel 所期望的相同。

于 2018-07-14T09:02:35.543 回答