No Microsoft 365, por padrão, você consegue ver apenas o status de disponibilidade nas caixas de email de sala. No entanto, muitas organizações desejam que os usuários vejam mais detalhes sobre a caixa de email de sala, como o organizador, assunto e localização da reunião. Neste artigo, você aprenderá como mostrar os detalhes completos de reuniões nas caixas de email de sala do Microsoft 365.

Índice

Configurações de calendário da caixa de email de sala

Os usuários devem sempre adicionar a caixa de email de sala ao calendário deles para visualizar as reservas da sala. Uma vez adicionada, eles verão o calendário da caixa de email de sala, que mostra apenas se a sala está ocupada ou livre (configuração padrão).

Existem duas funções diferentes para mostrar a pasta de Calendário:

  • AvailabilityOnly: Visualizar apenas dados de disponibilidade (padrão)
  • LimitedDetails: Visualizar dados de disponibilidade com assunto e localização

A imagem abaixo mostra o calendário padrão da caixa de email de sala configurado como “Availability Only” (Apenas Disponibilidade). Ele mostrará somente se a sala está Livre ou Ocupada.

Detalhes de reunião da caixa de email de sala do Microsoft 365 mostrando apenas ocupado
Calendário mostrando apenas status de disponibilidade

Passo 1. Conectar ao Exchange Online PowerShell

Para executar os comandos PowerShell especificados neste artigo, você precisará se conectar ao Exchange Online PowerShell.

Inicie o Windows PowerShell como administrador e execute o cmdlet Connect-ExchangeOnline.

Connect-ExchangeOnline

Passo 2. Configurar detalhes de reunião na caixa de email de sala

Para uma única caixa de email de sala:

  1. Especifique a caixa de email de sala na linha 1
  2. Execute o script PowerShell
$mailbox = "Sala03@suaempresa.com.br"
$folder = (Get-MailboxFolderStatistics -Identity "$($mailbox)" | Where-Object { $_.FolderType -eq "Calendar" }).Name
Set-MailBoxFolderPermission "$($mailbox):\$($folder)" -AccessRights LimitedDetails -User "Default"
Set-CalendarProcessing "$mailbox" -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false

Observação: Você verá o assunto da sala apenas quando criar um novo evento na sala ou ao editar um evento existente.

Se você quiser reverter as mudanças para as configurações padrão de uma única caixa de correio, siga estas etapas:

  1. Especifique a caixa de email de sala na linha 1
  2. Execute o script PowerShell
$mailbox = "Sala03@suaempresa.com.br"
$folder = (Get-MailboxFolderStatistics -Identity "$($mailbox)" | Where-Object { $_.FolderType -eq "Calendar" }).Name
Set-MailBoxFolderPermission "$($mailbox):\$($folder)" -AccessRights AvailabilityOnly -User "Default"
Set-CalendarProcessing "$mailbox" -AddOrganizerToSubject $true -DeleteComments $true -DeleteSubject $true

Para todas as caixas de email de sala:

Use o script PowerShell abaixo para alterar os detalhes de reunião de todas as caixas de email de sala.

# Recuperar todas as caixas de email de sala
$mailboxes = Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailbox")' -ResultSize Unlimited

# Percorrer cada caixa de email de sala
foreach ($mailbox in $mailboxes) {
    # Obter a pasta Calendário para a caixa de email atual
    $folder = (Get-MailboxFolderStatistics -Identity $mailbox.Identity | Where-Object { $_.FolderType -eq "Calendar" }).Name
    
    # Se a pasta Calendário existir, definir as permissões
    if ($folder) {
        # Definir permissões para a pasta Calendário
        Set-MailboxFolderPermission -Identity "$($mailbox.Identity):\$folder" -User "Default" -AccessRights LimitedDetails
        Set-CalendarProcessing -Identity $mailbox.Identity -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false
        Write-Host "Permissões definidas para $($mailbox.UserPrincipalName)" -ForegroundColor Green
    }
    else {
        Write-Host "Pasta Calendário não encontrada para $($mailbox.UserPrincipalName)" -ForegroundColor Red
    }
}

Se você quiser reverter as mudanças para as configurações padrão de todas as caixas de email de sala, execute o script PowerShell abaixo:

# Recuperar todas as caixas de email de sala
$mailboxes = Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailbox")' -ResultSize Unlimited

# Percorrer cada caixa de email de sala
foreach ($mailbox in $mailboxes) {
    # Obter a pasta Calendário para a caixa de email atual
    $folder = (Get-MailboxFolderStatistics -Identity $mailbox.Identity | Where-Object { $_.FolderType -eq "Calendar" }).Name
    
    # Se a pasta Calendário existir, definir as permissões
    if ($folder) {
        # Definir permissões para a pasta Calendário
        Set-MailboxFolderPermission -Identity "$($mailbox.Identity):\$folder" -User "Default" -AccessRights AvailabilityOnly
        Set-CalendarProcessing -Identity $mailbox.Identity -AddOrganizerToSubject $true -DeleteComments $true -DeleteSubject $true
        Write-Host "Permissões definidas para $($mailbox.UserPrincipalName)" -ForegroundColor Green
    }
    else {
        Write-Host "Pasta Calendário não encontrada para $($mailbox.UserPrincipalName)" -ForegroundColor Red
    }
}

Isso definirá as configurações padrão para todas as caixas de email de sala:

Permissões definidas para Sala01@suaempresa.com.br
Permissões definidas para Sala02@suaempresa.com.br
Permissões definidas para Sala03@suaempresa.com.br
Permissões definidas para Sala04@suaempresa.com.br

Passo 3. Verificar detalhes de reunião na caixa de email de sala

Para exportar as permissões de calendário da caixa de email de sala, você deve executar o script PowerShell, seguindo estas etapas:

  1. Crie as pastas Temp e Scripts na unidade (C:) se você ainda não as tiver
  2. Baixe o script PowerShell Export-RoomCalPerms.ps1
  3. Ou copie o script abaixo para o Bloco de Notas e salve-o como arquivo Export-RoomCalPerms.ps1
# Caminho de exportação do arquivo CSV
$Csvfile = "C:\temp\RoomMailboxCalendarPerms.csv"

# Obter todas as caixas de correio
$mailboxes = Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailbox")' -ResultSize Unlimited | Select-Object UserPrincipalName, DisplayName

# Contar o número total de caixas de correio
$totalMailboxes = $mailboxes.Count
$currentMailboxIndex = 0

# Inicializar uma Lista para armazenar os resultados
$Report = [System.Collections.Generic.List[Object]]::new()

foreach ($mailbox in $mailboxes) {
    $currentMailboxIndex++

    # Atualizar a barra de progresso
    $progressParams = @{
        Activity        = "Processando Caixas de Correio"
        Status          = "Processando caixa de correio $currentMailboxIndex de $totalMailboxes ($($mailbox.UserPrincipalName))"
        PercentComplete = ($currentMailboxIndex / $totalMailboxes) * 100
    }

    Write-Progress @progressParams

    # Obter configurações de Processamento de Calendário para a caixa de correio atual
    $calendarProcessing = Get-CalendarProcessing -Identity $mailbox.UserPrincipalName | Select-Object AddOrganizerToSubject, DeleteComments, DeleteSubject

    # Obter a pasta Calendário para a caixa de correio atual
    $folder = (Get-MailboxFolderStatistics -Identity $mailbox.UserPrincipalName | Where-Object { $_.FolderType -eq "Calendar" }).Name

    if ($folder) {
        # Obter permissões para a pasta Calendário
        $permissions = Get-MailboxFolderPermission "$($mailbox.UserPrincipalName):\$($folder)" | Select-Object FolderName, User, AccessRights

        # Adicionar as permissões ao array com o nome principal do usuário, nome de exibição e configurações de processamento do calendário
        $permissions | ForEach-Object {
            $ReportLine = [PSCustomObject]@{
                UserPrincipalName     = $mailbox.UserPrincipalName
                DisplayName           = $mailbox.DisplayName
                FolderName            = $_.FolderName
                User                  = $_.User
                AccessRights          = $_.AccessRights
                AddOrganizerToSubject = $calendarProcessing.AddOrganizerToSubject
                DeleteComments        = $calendarProcessing.DeleteComments
                DeleteSubject         = $calendarProcessing.DeleteSubject
            }
            # Adicionar a linha do relatório à Lista
            $Report.Add($ReportLine)
        }
    }
}

# Limpar barra de progresso
Write-Progress -Activity "Processando Caixas de Correio de Sala" -Completed

# Exibir os resultados
$Report | Out-GridView -Title "Permissões de Calendário da Caixa de Correio de Sala"
$Report | Export-Csv -Path $Csvfile -NoTypeInformation -Encoding utf8
  • O script PowerShell mostrará uma lista com as informações das caixas de email de sala em uma visualização Out-GridView
  • O script PowerShell também exportará as permissões de calendário das caixas de email de sala para um arquivo CSV na pasta C:\temp
  • Abra o arquivo CSV com um aplicativo como o Microsoft Excel para ver os resultados

Depois de configurar o calendário da caixa de email de sala para “Limited Details” (Detalhes Limitados), ele mostrará automaticamente o organizador e a localização da sala. No exemplo abaixo, editamos um evento, e ele imediatamente mostra o organizador, o assunto e a localização.

Observação: Os detalhes aparecerão automaticamente quando você adicionar um novo evento de sala. As salas que você já reservou não mudarão automaticamente, apenas se você editá-las.

Você aprendeu como mostrar os detalhes de reunião na caixa de email de sala do Microsoft 365. As configurações padrão do calendário de uma caixa de email de sala são definidas como “Availability Only” (Apenas Disponibilidade), que mostra se a sala está livre ou ocupada. Para ver todos os detalhes das reuniões na caixa de email de sala, como o organizador, assunto e localização, você deve alterar as configurações do calendário usando o PowerShell.

Tem alguma dúvida sobre como configurar os detalhes de reunião nas salas do Microsoft 365? Deixe um comentário abaixo!

Categorized in: