Pontos principais
- Colete dados confiáveis das caixas de correio: execute Get-MailboxStatistics no PowerShell para capturar tamanho, contagem de itens e último logon direto do Exchange Online.
- Inclua informações de cota e arquivo morto: combine as estatísticas com Get-EXOMailbox para expor limites de cota, uso do arquivo morto e o total de armazenamento ocupado.
- Faça amostragem de pastas nas caixas grandes: execute Get-MailboxFolderStatistics nas caixas de correio grandes demais ou de alto risco para achar fontes de crescimento ou problemas de retenção.
- Normalize e exporte de forma consistente: converta os tamanhos para GB, adicione metadados (tenant, carimbo de data/hora, versão do script) e exporte em CSV ou JSON para acompanhar tendências com facilidade.
- Automatize em escala com salvaguardas: use autenticação somente de aplicativo, controle de throttling e lógica de repetição em tarefas não assistidas em ambientes grandes ou multi-tenant.
Relatórios de tamanho de caixa de correio ajudam MSPs a planejar capacidade, validar restaurações e definir prazos de investigação em ambientes Exchange Online. O PowerShell entrega métricas diretas do lado do servidor, que revelam o tamanho real da caixa de correio, a contagem de itens e o uso do arquivo morto sem depender da visão do cliente de e-mail.
Este guia mostra como usar Get-Mailboxstatistics e outros cmdlets do Exchange Online para gerar relatórios precisos de tamanho de caixa de correio do Office 365 com PowerShell em escala para MSPs. Aqui estão as informações necessárias para incluir dados de cota, contexto de arquivo morto e amostragem por pasta, além de normalizar os resultados para automação, auditorias e QBRs mensais.
Passos para gerar relatórios de tamanho de caixa de correio com PowerShell em escala
Um relatório de tamanho de caixa de correio deve buscar estatísticas do servidor e o contexto de cota direto do Exchange Online. Esses relatórios também apoiam o planejamento de migrações, permitindo que as equipes realizem migrações de caixas de correio do Exchange Online sem tempo de inatividade.
📌 Pré-requisitos:
- Você vai precisar do módulo PowerShell do Exchange Online (EXO) e de permissões para ler propriedades e estatísticas de caixas de correio.
- É preciso armazenar credenciais com segurança ou configurar autenticação somente de aplicativo para execuções não assistidas.
- Você vai precisar de um caminho central onde CSV, JavaScript Object Notation (JSON) e logs de execução sejam gravados de forma consistente.
- Opcionalmente, tenha uma lista de caixas de correio alvo para a amostragem por pasta em análises mais profundas.
Passo 1: faça o inventário dos tamanhos de caixa de correio de forma eficiente
Comece coletando as estatísticas de caixa de correio no Exchange Online para estabelecer uma linha de base limpa. Esse passo captura as métricas de tamanho e os tipos de caixa de correio para análises futuras de cota, arquivo morto e crescimento.
📌 Casos de uso:
- Cria uma linha de base confiável com Get-MailboxStatistics para auditorias, QBRs ou migrações de tenant.
- Separa caixas de correio de usuário, compartilhadas e de recurso, o que torna o planejamento de cota e capacidade mais preciso.
📌 Pré-requisitos:
- Você vai precisar do módulo Exchange Online PowerShell (EXO V3) instalado e de acesso para executar comandos de estatísticas de caixa de correio.
- São necessárias credenciais de administrador ou autenticação somente de aplicativo para conectar com segurança ao Exchange Online.
Passo a passo:
- Conecte-se ao Exchange Online PowerShell.
- Execute Get-MailboxStatistics e selecione apenas os campos necessários, como TotalItemSize, ItemCount, LastLogonTime e Database.
- Exporte os resultados em CSV ou JSON como linha de base.
- Inclua uma coluna com o tipo de caixa de correio para separar as de usuário, compartilhadas e de recurso.
- Guarde a exportação em um local central para comparar com as execuções seguintes.
Passo 2: acrescente o contexto de cota e arquivo morto
Enriqueça o relatório de base combinando as estatísticas de caixa de correio com detalhes de cota e arquivo morto. Isso dá visibilidade sobre o uso de armazenamento, possíveis estouros e o tamanho real ocupado em todo o tenant.
📌 Casos de uso:
- Ajuda a identificar usuários perto do limite de cota ou que já o ultrapassaram.
- Dá visibilidade total sobre os tamanhos das caixas de correio do Exchange Online ao somar os dados do arquivo morto ao armazenamento principal.
📌 Pré-requisitos:
- Você vai precisar de permissões adicionais para consultar propriedades de caixa de correio com o cmdlet Get-EXOMailbox.
- É preciso ter acesso tanto às estatísticas quanto aos dados de propriedades para fazer a mesclagem no PowerShell.
Comando do PowerShell:
Get-EXOMailbox | Select-Object DisplayName, IssueWarningQuota, ProhibitSendQuota, ArchiveStatus |
Esse comando busca informações de cota e arquivo morto das caixas de correio do Exchange Online para combinar com a saída do Get-MailboxStatistics e formar um relatório completo de armazenamento.
Passo 3: amostragem por pasta para mais profundidade (opcional)
A amostragem por pasta revela padrões de crescimento e explica por que certas caixas de correio consomem mais armazenamento do que o esperado.
📌 Casos de uso:
- Analisa quais pastas mais contribuem para o crescimento da caixa de correio, o que melhora relatórios e previsões.
- Apoia investigações sobre uso anormal de armazenamento, acúmulo em pastas de recuperação ou estouro de cota.
📌 Pré-requisitos:
- Você vai precisar de direitos avançados para executar Get-MailboxFolderStatistics nas caixas de correio alvo.
- É necessária uma exportação de base que identifique as caixas de correio maiores ou mais críticas.
Comando do PowerShell:
$largest = (Import-Csv .\MailboxSize_Baseline.csv |Sort-Object TotalItemSize -Descending |Select-Object -First 20 -ExpandProperty Mailbox)$null = New-Item -ItemType Directory -Path .\FolderSamples -Forceforeach ($mbx in $largest) {$top = Get-MailboxFolderStatistics -Identity $mbx -FolderScope All |Select-Object FolderPath, ItemsInFolder, FolderSize |Sort-Object ItemsInFolder -Descending |Select-Object -First 10$ri = Get-MailboxFolderStatistics -Identity $mbx -FolderScope RecoverableItems |Select-Object FolderPath, ItemsInFolder, FolderSize$top | Export-Csv ".\FolderSamples\$($mbx)_TopFolders.csv" -NoTypeInformation$ri | Export-Csv ".\FolderSamples\$($mbx)_RecoverableItems.csv" -NoTypeInformation} |
Esse comando coleta estatísticas de pastas das maiores caixas de correio, capturando as principais pastas e os itens recuperáveis para apontar as fontes de crescimento e o impacto da retenção.
Passo 4: normalize, rotule e armazene as saídas
Normalizar os dados de tamanho gera relatórios consistentes e comparáveis entre tenants e ciclos de relatório.
📌 Casos de uso:
- Converte os dados de tamanho para unidades padronizadas, o que garante uma análise de tendências precisa.
- Permite adicionar metadados para rastreio de auditoria e integração com painéis.
📌 Pré-requisitos:
- Você vai precisar dos CSVs ou objetos gerados nos passos anteriores.
- É necessário acesso a um ambiente PowerShell para manipular e exportar arquivos CSV/JSON.
Comando do PowerShell:
$report = Import-Csv .\MailboxSize_Joined.csv | ForEach-Object {[pscustomobject]@{DisplayName = $_.DisplayNameMailbox = $_.MailboxMailboxType = $_.MailboxTypeTotalItemSizeGB = [math]::Round(($_.TotalItemSize -replace '.*\((.*?)\sbytes\).*','$1')/1GB,2)PercentQuotaUsed= $_.PercentQuotaUsedAsOf = (Get-Date).ToString('yyyy-MM-dd')TenantId = 'ContosoTenant'ScriptVersion = 'v1.0'}}$report | Export-Csv ".\MailboxSize_Normalized.csv" -NoTypeInformation$report | ConvertTo-Json | Out-File ".\MailboxSize_Normalized.json" |
Esse script converte os tamanhos das caixas de correio para gigabytes, adiciona rótulos de data, tenant e versão do script e exporta os dados em CSV e JSON para relatórios ou painéis.
Passo 5: automatize com salvaguardas
A automação garante que os relatórios de tamanho rodem de forma consistente, sem interação do usuário, e reduz o risco de throttling e falhas transitórias em tenants grandes do Office 365.
📌 Casos de uso:
- Permite gerar relatórios de forma não assistida em vários tenants ou ambientes.
- Oferece monitoramento confiável do tamanho das caixas de correio do Exchange Online, com lógica de repetição e controle de deltas versionado.
📌 Pré-requisitos:
- Você vai precisar de autenticação somente de aplicativo configurada no Azure AD para sessões não interativas do Exchange Online.
- É necessário um repositório seguro de scripts e um agendador de tarefas para execuções diárias ou semanais.
Connect-ExchangeOnline -AppId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" `-CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" `-Organization "contoso.onmicrosoft.com"for ($i=0; $i -lt 3; $i++) {try {.\Get-MailboxSizeReport.ps1break} catch {Start-Sleep -Seconds (30 * ($i + 1))}}Compare-Object (Import-Csv .\MailboxSize_Previous.csv) (Import-Csv .\MailboxSize_Current.csv) |Export-Csv .\MailboxSize_Delta.csv -NoTypeInformation |
Esse passo no PowerShell conecta com segurança, aplica lógica de repetição para evitar throttling e gera um arquivo de comparação de delta para acompanhar o crescimento das caixas de correio e as mudanças de cota a cada ciclo.
Passo 6: consolidação multi-tenant para MSPs
A consolidação permite que MSPs reúnam resultados de vários tenants em um único relatório, facilitando a análise comparativa nas revisões com clientes.
📌 Casos de uso:
- Gera um único painel com as maiores caixas de correio, estouros de cota e uso de arquivo morto por tenant.
- Simplifica a preparação de QBRs ao consolidar as saídas de cada tenant em um conjunto de dados único e normalizado.
📌 Pré-requisitos:
- Você vai precisar de um arquivo de configuração de tenants que defina os dados de autenticação de cada um.
- Todos os passos anteriores precisam ter sido concluídos com sucesso, com as exportações guardadas em um local central.
O que fazer:
- Percorra os tenants a partir de um arquivo de configuração e autentique em cada um.
- Grave a saída de cada tenant em sua própria pasta, com um carimbo de data consistente.
- Gere uma consolidação que mostre as maiores caixas de correio, as tendências de crescimento, os estouros de cota e a adoção do arquivo morto em todos os tenants.
Passo 7: transforme os relatórios em resultados mensuráveis
Converter os dados de tamanho em tarefas de acompanhamento garante que a informação gere resultados mensuráveis.
📌 Casos de uso:
- Abre tickets proativos para estouros de cota, crescimento anormal ou caixas de correio compartilhadas grandes demais.
- Destaca tendências e exceções mensais nas QBRs, o que demonstra maturidade no planejamento de capacidade.
📌 Pré-requisitos:
- Você vai precisar dos relatórios de tamanho e cota concluídos nos passos anteriores.
- Para este passo, é preciso ter acesso ao software de PSA ou ao service desk para abrir e acompanhar tickets de correção.
O que fazer:
- Crie tickets para valores altos de PercentQuotaUsed, crescimento acelerado ou caixas de correio compartilhadas grandes demais.
- Anexe amostras relevantes de caixas de correio a testes de restauração ou retenção para verificação.
- Inclua gráficos de crescimento, estouros de cota e tendências de arquivo morto nos pacotes mensais de QBR para fechar o ciclo do relatório.
⚠️ Pontos de atenção
Riscos | Consequências possíveis | Como reverter |
| Falta de contexto de autenticação nas tarefas agendadas | A automação falha em silêncio ou gera relatórios incompletos. | Use autenticação somente de aplicativo e teste a validade do token antes de agendar |
| Exportações grandes sem normalização | As comparações e tendências ficam pouco confiáveis | Converta todos os tamanhos para GB e inclua campos de metadados consistentes |
| Execuções de tenant incompletas ou puladas | A consolidação mostra totais inconsistentes ou tenants ausentes | Valide as pastas e a contagem de registros de cada tenant antes de compilar o relatório final |
Resumo das boas práticas para relatórios de tamanho de caixa de correio no PowerShell
Prática | Objetivo | Valor entregue |
| Linha de base de tamanho de caixa de correio | Capturar métricas confiáveis com Get-MailboxStatistics | Dados precisos de capacidade para previsões e auditorias |
| Incluir detalhes de cota e arquivo morto | Combinar dados de uso com limites de cota e status do arquivo morto para visibilidade total | Melhor planejamento de capacidade e menos estouros inesperados de armazenamento |
| Amostragem por pasta | Analisar estatísticas de pastas em caixas de correio grandes e de crescimento rápido | Diagnóstico de causa raiz mais rápido e melhor gerenciamento de retenção |
| Normalizar e rotular as saídas | Padronizar os dados entre tenants com unidades e metadados consistentes | Comparações fáceis, análise de tendências confiável e integração com painéis |
| Automatizar os relatórios com segurança | Usar autenticação somente de aplicativo e scripts agendados para tarefas recorrentes | Relatórios multi-tenant escaláveis, seguros e consistentes |
Tarefas para agilizar os relatórios de tamanho e o controle de cotas
Com automação e as tarefas a seguir, os relatórios de tamanho de caixa de correio ficam consistentes, precisos e prontos para auditorias ou QBRs.
- Agende uma tarefa do PowerShell para exportar tamanho e contagem de itens com Get-MailboxStatistics.
- Mescle os detalhes de cota vindos de Get-EXOMailbox e calcule PercentQuotaUsed para acompanhar uso e crescimento.
- Sinalize automaticamente estouros de cota e anomalias de crescimento em cada execução.
- Se quiser, colete estatísticas de pastas das 50 maiores caixas de correio para identificar as pastas que mais pesam no armazenamento.
- Exporte CSV, JSON e um log de resumo com contagem de registros, tempo de execução e filtros aplicados.
- Rode uma comparação mensal para gerar relatórios de delta e um resumo de uma página para documentação.
Como escalar os relatórios de tamanho de caixa de correio em operações de MSP
O relatório de tamanho de caixa de correio vira um processo estratégico quando os cmdlets do Exchange Online PowerShell se unem ao contexto de cota e arquivo morto, à amostragem dirigida de pastas e à automação. Saídas normalizadas e deltas mensais mostram com clareza as tendências de capacidade e o uso de armazenamento em todos os tenants.
Com Get-MailboxStatistics e relatórios estruturados de tamanho de caixa de correio no PowerShell, MSPs transformam dados brutos em insights de planejamento, evidências de incidentes e resumos prontos para QBR. Essa abordagem traz consistência operacional, reduz surpresas e embasa decisões de capacidade e retenção em todos os ambientes de clientes.
Temas relacionados:
- Como fazer backup do Microsoft 365 Exchange Online
- Como proteger caixas de correio compartilhadas com grupos de segurança no Microsoft 365
- Estratégias de arquivamento de e-mail: guia completo para administradores de TI e MSPs
- Como migrar caixas de correio do Exchange Online sem tempo de inatividade
- Como usar a API do Microsoft Graph para extrair relatórios de conformidade de vários tenants
