- Área de tecnologia principal: Azure | Powershell
- Áreas de tecnologia adicionais: M365 | Sharepoint
Em ambientes corporativos que utilizam o SharePoint Online como pilar de colaboração e gestão de conteúdo, entender quantos sites existem em um tenant é muito mais do que uma simples curiosidade administrativa. Essa informação é fundamental para governança, planejamento de capacidade, segurança e controle operacional.
À medida que o tenant cresce — especialmente em organizações onde o Microsoft Teams é amplamente utilizado — novos sites são criados de forma constante, muitas vezes de maneira descentralizada. Cada equipe criada no Teams resulta automaticamente em um site SharePoint associado, o que torna o crescimento do ambiente rápido e, em muitos casos, pouco visível sem ferramentas adequadas.
Os desafios de ambientes grandes
O SharePoint Admin Center oferece uma visão geral dos sites ativos, porém essa abordagem apresenta limitações claras em tenants de médio e grande porte:
- A navegação e filtragem manual tornam-se lentas e pouco eficientes.
- Nem todas as informações são facilmente exportáveis ou correlacionáveis.
- Em ambientes com milhares de sites, a interface deixa de ser prática para inventário contínuo e análises recorrentes.
A própria Microsoft documenta que um tenant pode conter até 2 milhões de sites (site collections), o que reforça a necessidade de métodos automatizados para coleta e análise dessas informações. [learn.microsoft.com]
Além disso, administrar crescimento sem visibilidade pode impactar diretamente:
- Consumo de armazenamento
- Estrutura de sites órfãos
- Aderência a políticas de governança
PowerShell como aliado da governança
É nesse contexto que o SharePoint Online Management Shell, módulo oficial da Microsoft para administração via PowerShell, se destaca. Ele fornece cmdlets específicos para gestão em nível de tenant, permitindo obter informações de forma rápida, padronizada e auditável.
Segundo a documentação oficial, o módulo Microsoft.Online.SharePoint.PowerShell foi criado exatamente para permitir que administradores gerenciem sites e configurações do SharePoint Online fora da interface gráfica, de forma automatizada e escalável. [learn.microsoft.com]
Listando a quantidade de sites com Get-SPOSite
O cmdlet Get-SPOSite é a principal ferramenta para inventariar sites no tenant. Ele retorna informações sobre site collections, que são a unidade administrativa do SharePoint Online.
De acordo com a Microsoft, o cmdlet permite recuperar uma ou mais coleções de sites, com suporte a filtros, paginação e controle de escopo, sendo adequado para cenários corporativos. [learn.microsoft.com]
Em um uso simples, é possível obter a quantidade total de sites com um único comando, eliminando completamente a dependência de navegação manual pelo portal administrativo.
Além disso, a documentação deixa claro alguns pontos importantes:
- Sites na lixeira não são retornados
- O cmdlet exige permissões de SharePoint Administrator
- Ele opera diretamente no SharePoint Admin Center, garantindo consistência dos dados [learn.microsoft.com]
Limitações e boas práticas
Apesar da facilidade, é importante considerar alguns aspectos ao trabalhar com grandes volumes de dados:
- A execução pode levar mais tempo em tenants muito grandes
- O consumo de memória deve ser considerado ao exportar grandes listas
- Filtros como template, GroupId ou inclusão de OneDrive devem ser aplicados de forma consciente
Essas limitações não são falhas da ferramenta, mas reflexo do tamanho e complexidade do ambiente. A Microsoft recomenda o uso de automação exatamente para reduzir o impacto operacional nessas situações. [learn.microsoft.com]
Mão na massa
Importante: As imagens receberam anonimização por agente criado no Microsoft Copilot Studio. Montei um script e deixei no GitHub para você conseguir utilizar.
Script pronto: powershell/List-QuantSites-Sharepoint.ps1 at main · edupopov/powershell