有时我会被要求生成一个对特定Exchange 2007邮箱具有完全访问权限的用户列表。目前我手动执行此操作,理想情况下我喜欢使用Powershell。
无论如何产生完全访问权限列表(以及代表发送权限也很有用)。
谢谢, 强尼
答案 0 :(得分: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"}
答案 1 :(得分:2)
除了Slipsecs之外,还有一个替代发送 - 身份权限审核。
$(Get-Mailbox -Identity mailboxName).GrantSendOnBehalfTo | ft Name
这仅返回手动添加的用户,而不返回自动生成的用户。
再次感谢Slipsec的帮助!
答案 2 :(得分:1)
get-mailbox -identity MailBoxName | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights
如果您正在为特定邮箱上的用户查找权限。将MailBoxName替换为您尝试运行报告的邮箱的确切名称。它是关于邮箱名称和别名的KeySensitive。
答案 3 :(得分:0)
get-mailbox | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights
在上面的命令中,我用邮箱或用户名替换foo吗?我尝试了这个命令,它说无法绑定,因为对象为空 - 非常感谢您的帮助。
答案 4 :(得分:0)
我知道这已经过时了,但是为了防止其他人遇到此线程寻求帮助,回答OP的最后一个问题,$foo
表示在运行命令之前必须定义的变量,所以例如:
$foo = 'Example User'
get-mailbox | %{$foo = $_; Get-MailboxPermission $foo | ?{$_.AccessRights -eq "FullAccess" -and $_.IsInherited -eq $false}} | ft {$foo},User,AccessRights