/
/

Como gerar relatórios de grupos do Microsoft 365 com PowerShell

por Team Ninja
How to Get Microsoft 365 Group Reports Using PowerShell blog banner image

Resumo instantâneo

Esta postagem do blog NinjaOne oferece uma lista abrangente de comandos CMD básicos e um mergulho profundo nos comandos do Windows, com +70 comandos CMD essenciais para usuários iniciantes e avançados. Explicamos sobre comandos práticos de prompt de comando para gerenciamento de arquivos, navegação em diretórios, solução de problemas de rede, operações de disco e automação, tudo com exemplos reais para maximizar a produtividade. Seja para aprender comandos básicos CMD ou dominar ferramentas avançadas de CLI do Windows, este guia ajuda você a usar o prompt de comando com mais eficiência.

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.

  1. Proteja as credenciais do aplicativo guardando-as em um arquivo JSON criptografado.
  2. 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

  1. 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.
  2. 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áticaFinalidadeValor entregue
Cmdlets do Graph para inventárioGarante alinhamento com as APIs modernas do Microsoft Graph na obtenção de dados de grupos e do diretórioEntrega resultados de inventário precisos, confiáveis e com suporte total
Exchange Online para detalhes de associaçãoReforça a governança ao dar visibilidade sobre a propriedade dos grupos e as permissões de acessoPermite ao administrador confirmar quem é dono de cada grupo e quem tem acesso a quê
API de Relatórios do Graph para insights de atividadeDá visibilidade do ciclo de vida dos grupos ao acompanhar padrões de uso e engajamentoFacilita identificar grupos inativos, redundantes ou sem proprietário
Autenticação somente de aplicativoAumenta a segurança ao eliminar a necessidade de logins interativosOferece autenticação segura baseada em token, que protege o acesso administrativo
Exportações agendadasPadroniza a coleta de dados por meio da automaçãoGarante 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:

FAQs

Na maioria das organizações, um relatório agendado semanalmente cobre os principais casos de uso operacionais: detectar grupos que ficaram órfãos, identificar grupos sem atividade recente e acompanhar mudanças de associação que podem indicar acesso não autorizado ou atribuições obsoletas. Em ambientes regidos por conformidade, sob SOC 2, HIPAA ou ISO 27001, uma execução automática diária com exportações CSV com data e hora cria uma trilha de auditoria contínua sem esforço manual. Esses frameworks não determinam uma frequência específica de relatórios, então defina a cadência conforme as políticas internas e o que o auditor espera. Se o armazenamento for uma preocupação, relatórios diários de delta, que capturam apenas as mudanças desde a última exportação completa, são bem mais eficientes.

Sim. Basta substituir a autenticação interativa Connect-MgGraph por autenticação somente de aplicativo com uma entidade de serviço, usando um aplicativo registrado no Microsoft Entra ID, e percorrer um array de IDs de tenant, conectando e exportando os dados de cada cliente em sequência numa única execução do script. Cada exportação deve trazer o identificador do tenant tanto no nome do arquivo quanto nas colunas do CSV, para que os relatórios de vários tenants possam ser unidos depois em uma visão única de conformidade, sem dúvida sobre qual registro pertence a qual cliente.

Inclua registro em log estruturado em cada execução, gravando horário de início, nome do tenant, total de registros e status de sucesso ou falha em um arquivo de log persistente, que acumula as entradas de todas as execuções. Para alertas de falha em tempo real, envolva cada bloco principal de consulta em uma instrução Try/Catch e configure o bloco Catch para enviar uma notificação por email ou gravar em um webhook de monitoramento quando uma exceção for capturada. Assim, você descobre um relatório quebrado na hora, e não quando um prazo de conformidade expõe a lacuna.

O Power BI é a opção mais completa para quem já usa o conjunto de ferramentas do Microsoft 365. Para análises mais simples ou pontuais, tabelas dinâmicas do Excel sobre os CSVs exportados dão conta das tarefas mais comuns do administrador de TI: identificar grupos inativos pela data da última atividade, cruzar a propriedade com uma exportação do diretório de RH ou filtrar grupos que passam de um determinado tamanho. Para MSPs que geram relatórios de vários tenants de clientes, enviar todas as exportações para um workspace compartilhado do Power BI conectado a um armazenamento central permite que um único painel mostre a saúde dos grupos de todos os clientes, com segmentações por tenant, o que acelera bastante a preparação das QBRs.

Recomendados para você

Pronto para simplificar as partes mais difíceis da TI?