1

有时我被要求提供对特定 Exchange 2007 邮箱具有完全访问权限的用户列表。目前我正在手动执行此操作,理想情况下我希望使用 Powershell 来执行此操作。

无论如何要生成完全访问权限列表(并且代表发送权限也很有用)。

谢谢,乔尼

4

5 回答 5

2

Send-As 权限存储在活动目录中,因此获取它们有点棘手。如果您想从两个结果中组合您关心的属性,您可以使用 Add-Member。

完全访问:

get-mailbox | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights

发送为:

get-mailbox | %{$mailbox = $_; Get-ADPermission $mailbox.DistinguishedName | ?{$_.ExtendedRights -like "Send-As" -and $_.User -notlike "NT AUTHORITY\SELF"}} | ft {$mailbox},user,{"Send-As"}
于 2010-01-04T15:35:28.310 回答
2

除了 Slipsecs 答案之外,还有一种替代 Send-As 权限审核的方法。

$(Get-Mailbox -Identity mailboxName).GrantSendOnBehalfTo | ft Name

这只会返回手动添加的用户,而不会返回自动生成的用户。

再次感谢 Slipsec 在这方面的帮助!

于 2010-01-05T16:21:48.653 回答
1
get-mailbox -identity MailBoxName | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights

如果您正在为特定邮箱上的用户寻找权限。将 MailBoxName 替换为您尝试运行报告的邮箱的确切名称。对于邮箱名称和别名,它是 KeySensitive。

于 2012-02-27T18:16:55.130 回答
0

get-mailbox | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights

在上面的命令中,我是用邮箱还是用户名替换 foo ?我尝试了该命令,它说无法绑定,因为对象为空 - 将感谢您的帮助。

于 2010-11-24T11:57:28.583 回答
0

我知道这是旧的,但以防万一其他人遇到此线程寻求帮助,回答 OPs 最后一个问题,$foo表示您必须在运行命令之前定义的变量,例如:

$foo = 'Example User'

get-mailbox | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights
于 2011-10-23T20:03:00.377 回答