Pontos principais
- O Microsoft Graph PowerShell gera relatórios completos de grupos do Microsoft 365, com nomes, tipos e visibilidade de cada grupo.
- É possível combinar o Exchange Online PowerShell com os dados do Graph para relatar propriedade e associação dos grupos com precisão.
- A API de Relatórios do Microsoft Graph acompanha a atividade dos grupos e identifica grupos inativos ou órfãos em períodos de 7, 30 ou 90 dias.
- Dá para automatizar os relatórios do Microsoft 365 com autenticação somente de aplicativo, tarefas agendadas do PowerShell e exportações em CSV/JSON para um acompanhamento consistente.
- Relatórios multi-tenant do Microsoft 365 ficam padronizados com loops de conexão em script, logs com data e hora e um relatório unificado para todas as organizações.
Os relatórios de grupos do Microsoft 365 ajudam os administradores a acompanhar propriedade, associação, visibilidade e uso dos grupos no Teams, SharePoint, Planner e Outlook.
Os métodos antigos de relatórios simplesmente não oferecem a automação e a profundidade que o administrador moderno precisa. Por isso, cada vez mais organizações recorrem a ferramentas como o Graph PowerShell e os endpoints do Graph Reports para gerar esses relatórios.
Essas plataformas automatizam tarefas repetitivas, como a coleta de dados de associação, e, mais importante, entregam conjuntos de dados muito mais ricos.
Neste guia, mostramos como automatizar os relatórios de grupos do Microsoft 365 com PowerShell e Graph Reports.
Como automatizar relatórios de grupos do Microsoft 365 com PowerShell
PowerShell e Microsoft Graph são as duas ferramentas essenciais para montar relatórios de grupos do Microsoft 365 de forma escalável e segura.
Pré-requisitos
- Os módulos Microsoft Graph PowerShell SDK e Exchange Online
- Um registro de aplicativo no Azure configurado com os escopos de API Reports.Read.All e Group.Read.All
- Credenciais somente de aplicativo ou delegadas, guardadas com segurança em um Key Vault ou arquivo JSON criptografado
- Permissões de administrador para acessar os relatórios do tenant do Microsoft 365 e o Exchange Online
Método 1: fazer um inventário completo dos grupos com o Microsoft Graph PowerShell
Caso de uso: este método cria uma conexão segura com o Microsoft Graph, o que permite consultar os dados do Microsoft 365. É ideal para levantar um inventário completo de todos os grupos do tenant, incluindo grupos com Teams habilitado e grupos dinâmicos
A. Instale e importe os módulos
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph
Connect-MgGraph -Scopes "Group.Read.All","Reports.Read.All"
Isso instala o SDK com segurança e faz a conexão com as permissões necessárias.
B. Use Get-MgGroup para inventariar todos os grupos do Microsoft 365
Get-MgGroup -All | Select DisplayName,GroupTypes,Visibility,CreatedDateTime |
Export-Csv "C:\Reports\GroupInventory.csv" -NoTypeInformation
Dica: filtre os resultados por tipo de grupo ou convenção de nomes para isolar grupos dinâmicos ou com Teams habilitado.
Método 2: obter associação e propriedade pelo Exchange Online
Caso de uso: este método extrai detalhes de associação e propriedade direto do Exchange Online. É especialmente útil para quem administra grupos de segurança habilitados para email ou listas de distribuição do Microsoft 365.
A. Conecte-se ao Exchange Online:
Connect-ExchangeOnline -UserPrincipalName [email protected]
Get-UnifiedGroup | Select DisplayName,PrimarySmtpAddress,AccessType |
Export-Csv "C:\Reports\UnifiedGroups.csv" -NoTypeInformation
B. Liste os membros ou proprietários do grupo:
Get-UnifiedGroupLinks -Identity "<GroupName>" -LinkType Members |
Select Name,PrimarySmtpAddress
C. Liste os proprietários do grupo:
Get-UnifiedGroupLinks -Identity "<GroupName>" -LinkType Owners
Select Name,PrimarySmtpAddress
Exporte os resultados para revisão ou documentação de auditoria.
Método 3: analisar o engajamento dos grupos com a API de Relatórios do Microsoft Graph
Caso de uso: este método permite analisar a atividade dos grupos e obter insights sobre o ciclo de vida deles.
A. Chame a API de Relatórios do Graph para a atividade dos grupos
$uri = "https://graph.microsoft.com/v1.0/reports/getOffice365GroupsActivityDetail(period='D30')"
Invoke-MgGraphRequest -Method GET -Uri $uri |
ConvertFrom-Csv | Export-Csv "C:\Reports\GroupActivity_D30.csv" -NoTypeInformation
Compare os números de atividade com os dados de associação para descobrir quais grupos estão inativos, subutilizados ou sem proprietário.
Método 4: automatizar exportações e agendamentos
Caso de uso: este método gera relatórios de grupos automaticamente para fins de conformidade e para a diretoria.
- Proteja as credenciais do aplicativo guardando-as em um arquivo JSON criptografado.
- Use uma tarefa agendada do PowerShell ou um runbook do Azure Automation para execução na nuvem:
$timestamp = Get-Date -Format "yyyyMMdd_HHmm"Get-MgGroup -All | Export-Csv "C:\Reports\Groups_$timestamp.csv" -NoTypeInformation
- Ative o registro em log de cada execução e garanta que ele inclua detalhes importantes, como data e hora da execução, nome do tenant, número de registros e status de sucesso ou falha.
- Se quiser, alimente os arquivos CSV exportados no Power BI ou em um pacote de relatórios de conformidade.
Resumo das boas práticas para gerar relatórios de grupos do Microsoft 365 com PowerShell e Graph Reports
| Prática | Finalidade | Valor entregue |
| Cmdlets do Graph para inventário | Garante alinhamento com as APIs modernas do Microsoft Graph na obtenção de dados de grupos e do diretório | Entrega resultados de inventário precisos, confiáveis e com suporte total |
| Exchange Online para detalhes de associação | Reforça a governança ao dar visibilidade sobre a propriedade dos grupos e as permissões de acesso | Permite ao administrador confirmar quem é dono de cada grupo e quem tem acesso a quê |
| API de Relatórios do Graph para insights de atividade | Dá visibilidade do ciclo de vida dos grupos ao acompanhar padrões de uso e engajamento | Facilita identificar grupos inativos, redundantes ou sem proprietário |
| Autenticação somente de aplicativo | Aumenta a segurança ao eliminar a necessidade de logins interativos | Oferece autenticação segura baseada em token, que protege o acesso administrativo |
| Exportações agendadas | Padroniza a coleta de dados por meio da automação | Garante relatórios repetíveis e evidências contínuas para auditorias de conformidade |
Validação e solução de problemas comuns
Se o script retornar erros ou gerar dados incompletos, use a lista de verificação abaixo para identificar e resolver os problemas mais comuns.
- Resultados vazios: confira as configurações de log do tenant e verifique se as permissões da API do Graph foram atribuídas corretamente.
- Acesso negado: confirme que o consentimento de administrador foi concedido de forma explícita para todos os escopos de API necessários no registro de aplicativo do Azure.
- Limites de taxa: aplique lógica de atraso ou de nova tentativa em tenants maiores para desacelerar as solicitações e não estourar os limites de taxa da API do Graph.
- Erros de script: envolva os blocos de consulta em Try/Catch para tratar exceções corretamente e registrar o erro para análise posterior.
- Tokens expirados: crie alertas para monitorar a expiração dos tokens e troque os segredos do aplicativo com regularidade. Essa etapa mantém os relatórios automatizados funcionando.
Onde a automação entra nos relatórios de grupos do Microsoft 365
A automação pode mudar o jogo para MSPs. Um trabalho diário agendado que se conecta ao Microsoft Graph com autenticação somente de aplicativo, por exemplo, ajuda a:
- obter listas de grupos e métricas de atividade em vários tenants de clientes;
- unir os dados em um relatório CSV único, com data e hora;
- enviar os relatórios por email automaticamente aos administradores indicados.
Essa abordagem reduz o trabalho manual da equipe e libera tempo para tarefas mais importantes.
Relatórios de grupos do Microsoft 365 mais simples com NinjaOne
NinjaOne torna os relatórios de grupos do Microsoft 365 muito mais simples. Conta com um mecanismo de scripts robusto que permite automatizar implantações de PowerShell nos ambientes dos clientes.
Com o armazenamento seguro de credenciais, dá para criar scripts que geram insights acionáveis, produzem relatórios CSV automaticamente e os anexam direto à documentação do cliente, sem abrir mão da segurança.
Experimente grátis o software de gerenciamento de endpoints nº 1 no G2
Sem necessidade de cartão de crédito. Acesso completo a todos os recursos.
Gere relatórios de grupos do Microsoft 365 mais inteligentes com PowerShell
Os relatórios modernos de grupos do Microsoft 365 em PowerShell usam cmdlets e APIs baseados no Graph, o que traz uma precisão e uma automação que os métodos antigos não alcançam.
Ao reunir dados de inventário, associação e atividade em relatórios unificados, você ganha visibilidade essencial sobre cada tenant de cliente ou unidade de negócio que administra. E, mais importante, o processo de relatórios continua escalável e preparado para o futuro.
Temas relacionados:
- Como usar a API do Microsoft Graph para extrair relatórios de conformidade de vários tenants
- Como fazer backup do Microsoft 365 Exchange Online
- Manual do administrador sobre permissões de grupo no SharePoint: configuração, gerenciamento e boas práticas
- Como usar a API do Microsoft Graph com o Windows PowerShell para monitorar e gerenciar clientes do Microsoft 365
- Como gerar relatórios de conformidade voltados a MSPs a partir do Microsoft Secure Score
