# 1 - Escrevi este eu mesmo (revisado). Não é um simples one-liner, pois avalia o valor de cada entrada de permissão em cada caixa de correio em alguns loops aninhados. Infelizmente, não consegui descobrir uma maneira de simplificar isso ainda mais (provavelmente devido à minha falta de conhecimento em powershell). Ele basicamente obtém todas as caixas de correio e armazena-as em uma variável, em seguida, obtém as permissões em cada caixa de correio, avaliando cada entrada de permissão para um critério específico (o usuário do sistema com uma entrada FullAccess na caixa de correio). Se esse critério for atendido em qualquer uma das entradas de permissão, ele definirá a variável $ access como "True". Depois de ter passado por todas as entradas de permissão na caixa de correio, é exibida a variável $ access e, se ainda for False, ela adiciona a caixa de correio ao arquivo csv (não é realmente um csv, pois há apenas uma entrada por linha o arquivo).
Import-Module C:\Temp\Exchange.psm1
$csv = "C:\Temp\systemuser.csv"
$user = "<system user>"
$mailboxes = Get-Mailbox *
ForEach ($mailbox in $mailboxes) {
$access = "False"
$perms = $mailbox | Get-MailboxPermission
ForEach ($item in $perms) {
if ($item.User -like $user -and $item.AccessRights -like "*FullAccess*") {
$access = "True"
}
}
if ($access -eq "False") {
ac $csv "$($mailbox)"
}
}
# 2 - Escrevi a maioria de mim, mas estava com dificuldades para obter a propriedade AccessRights para uma string, então ela exportaria para o csv, então eu pesquisei no Google e encontrou o mesmo artigo que você encontrou com o script em sua pergunta e funciona bem. Acho que a discrepância entre o que o csv diz e o que a EMC diz é que o script do artigo filtra as permissões herdadas. Eu o modifiquei abaixo para não filtrar as permissões herdadas e incluir a propriedade "IsInherited" na saída para que você possa dizer se é explícita ou não.
Get-MailboxPermission * | ? {$_.user -notlike "NT AUTHORITY\SELF"} | Select Identity
,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}},IsInherited | Export-csv -NoTypeInformation c:\temp\mailboxpermissions.csv