Изменение сценария PowerShell для отображения разрешения RecipientDetailsType и FullAccess - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужно изменить приведенный ниже скрипт PowerShell, чтобы он отображал еще два столбца с именами RecipientDetailsType и FullAccess .

Приведенный ниже код PowerShell уже работает, но мне нужно получить еще два дополнительных столбца.

$DataPath = "C:\TEMP\Delegates-Results.csv"
$Results = @()
$MailboxUsers = Get-Mailbox -ResultSize Unlimited -Database CAB-DB02

foreach($user in $mailboxusers) {
    $UPN = $user.UserPrincipalName
    $MbxStats = Get-MailboxStatistics $UPN
    $UserNotes = Get-User $UPN

    $delegates = @(Get-MailboxPermission -Identity $UPN | 
                    Where-Object { ($_.AccessRights -like "*FullAccess*") -and 
                                   (-not $_.IsInherited) -and 
                                   ($_.User.toString() -ne "NT AUTHORITY\SELF") -and 
                                   ($_.User.toString() -notlike '*Discovery Management*') } |
                    Select-Object @{Name='Delegate'; Expression={(Get-Recipient $_.User.toString()).DisplayName}}, 
                                  @{Name='AccessRights';Expression={$_.AccessRights -join ', '}})

     $Properties = @{
          Name = $user.name
          PrimarySmtpAddress = $user.PrimarySmtpAddress
          RecipientTypeDetails = $user.RecipientTypeDetails
          FullAccess = $user.FullAccess
          UPN = $UPN
          Alias = $user.alias
          OU = $user.organizationalunit
          Server = $MbxStats.servername
          Database = $MbxStats.databasename
          TotaItemSize = [math]::Round(($MbxStats.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)
          Delegates  = $delegates.Delegate -join ', '
          Notes = $UserNotes.Notes
      }
    $Results += New-Object psobject -Property $properties
}
$Results | Sort-Object -Property TotaItemSize | Select-Object Name,UPN,Alias,RecipientTypeDetails,FullAccess,OU,Server,Database,TotaItemSize,Notes,Delegates | Export-Csv -notypeinformation -Path $DataPath

1 Ответ

0 голосов
/ 10 сентября 2018

Вы пытались изменить $Properties на:

     $Properties = @{
          Name = $user.name
          PrimarySmtpAddress = $user.PrimarySmtpAddress
          RecipientDetailsType = $user.RecepientDetailsType
          FullAccess = $user.FullAccess
          UPN = $UPN
          Alias = $user.alias
          OU = $user.organizationalunit
          Server = $MbxStats.servername
          Database = $MbxStats.databasename
          TotaItemSize = [math]::Round(($MbxStats.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)
          Notes = $UserNotes.Notes
      }

$Results | Sort-Object -Property TotaItemSize | Select-Object Name,UPN,Alias,RecepientDetailsType,FullAccess,OU,Server,Database,TotaItemSize,Notes | Export-Csv -notypeinformation -Path $DataPath

Если это не сработает, дайте мне знать, и я попробую в нашей среде Exchange.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...