Você precisa de uma lista completa de todos os arquivos e pastas armazenados na sua conta do OneDrive for Business, incluindo tamanho, data da última modificação e status de compartilhamento. O OneDrive não possui um botão de exportação nativo para esses dados. Este artigo explica como gerar um inventário de arquivos usando scripts PowerShell e ferramentas de relatórios em nuvem.
Sem um inventário, você não consegue auditar facilmente o uso do armazenamento, identificar arquivos obsoletos ou verificar documentos com compartilhamento excessivo. Os métodos abordados aqui funcionam tanto para contas de usuário individuais quanto para relatórios em nível de locatário.
Você aprenderá os comandos exatos do PowerShell para exportar um arquivo CSV contendo metadados dos arquivos, como executar o script no Windows PowerShell ou no centro de administração do Microsoft 365 e como interpretar os resultados no Excel.
Principais conclusões: Exportar um inventário de arquivos do OneDrive
- Get-PnPFolderItem -FolderSiteRelativeUrl: Cmdlet do PowerShell que recupera todos os arquivos e subpastas em uma pasta específica do OneDrive e gera metadados em um arquivo CSV.
- Centro de administração do Microsoft 365 > Relatórios > Uso > OneDrive: Painel integrado que mostra contagens de arquivos e uso de armazenamento por usuário, exportável como relatório CSV.
- Módulo SharePoint PnP PowerShell: Necessário para executar o script de inventário; instale com
Install-Module PnP.PowerShellem uma sessão do PowerShell elevada.
O que um inventário de arquivos do OneDrive contém e por que é importante
Um inventário de arquivos é uma lista estruturada de todos os itens na sua conta do OneDrive. A exportação típica inclui nome do arquivo, caminho, tamanho em bytes, data da última modificação, último usuário que modificou e status de compartilhamento. Esses dados ajudam a responder perguntas específicas sobre seu armazenamento.
Você pode identificar arquivos que não foram modificados há mais de um ano e decidir se deve arquivá-los ou excluí-los. Pode encontrar documentos compartilhados com usuários externos e verificar se as permissões de compartilhamento são adequadas. Também pode calcular o consumo total de armazenamento por usuário em toda a organização.
A exportação é um arquivo CSV simples. Você o abre no Excel, filtra colunas, classifica por tamanho ou data e cria tabelas dinâmicas. Nenhum software especial é necessário além do Excel ou qualquer aplicativo de planilha que leia CSV.
Antes de começar, você precisa dos seguintes pré-requisitos:
- Windows 10 ou Windows 11 com PowerShell 5.1 ou posterior instalado.
- Módulo SharePoint PnP PowerShell instalado na sua máquina.
- Função de administrador global ou administrador do SharePoint no Microsoft 365 para acessar todos os sites do OneDrive dos usuários.
- URLs do OneDrive das contas que você deseja inventariar. O formato é
https://.-my.sharepoint.com/personal/ _ _com
Passos para exportar um inventário de arquivos do OneDrive usando PowerShell
Este método exporta a lista completa de arquivos para uma única conta do OneDrive. Você pode repetir o script para cada usuário ou usar um loop para processar várias contas em uma execução.
- Abra o PowerShell como Administrador
Clique com o botão direito no botão Iniciar e selecione Windows PowerShell Admin ou Terminal Admin. Confirme o prompt do Controle de Conta de Usuário. - Instale o módulo PnP PowerShell se ainda não estiver instalado
ExecuteInstall-Module PnP.PowerShell -Scope CurrentUser. Pressione Y quando solicitado para instalar do PSGallery. Este módulo fornece os cmdlets necessários para conectar ao OneDrive e recuperar dados de arquivos. - Conecte-se ao seu locatário
ExecuteConnect-PnPOnline -Url https://. Substitua-admin.sharepoint.com -Interactive <tenant>pelo nome do seu locatário do Microsoft 365. Uma janela do navegador será aberta. Faça login com suas credenciais de administrador. Esta conexão permite que o script acesse todas as coleções de sites no locatário. - Obtenha a URL do site do OneDrive para o usuário alvo
ExecuteGet-PnPTenantSite | Where-Object {$_.Url -like "-my.sharepoint.com"} | Select-Object Url. Isso lista todas as URLs de sites do OneDrive. Copie a URL do usuário que você deseja inventariar. - Conecte-se ao site específico do OneDrive
ExecuteConnect-PnPOnline -Url. Faça login novamente se solicitado. Agora você está conectado diretamente ao OneDrive desse usuário.-Interactive - Exporte o inventário de arquivos para CSV
Execute o seguinte script:$items = Get-PnPFolderItem -FolderSiteRelativeUrl "/Documents" -ItemType File
$items | Select-Object Name, ServerRelativeUrl, Length, TimeLastModified, ModifiedBy | Export-Csv -Path "C:\OneDriveInventory.csv" -NoTypeInformation
Substitua/Documentspelo caminho da pasta que deseja verificar. Use/para a raiz. O arquivo CSV é salvo em sua unidade local. Abra-o no Excel para revisar os dados.
Para inventariar vários usuários, envolva os passos em um loop foreach. Armazene as URLs do OneDrive em um arquivo de texto e itere por elas. Acrescente os resultados a um único arquivo CSV usando -Append no cmdlet Export-Csv.
Problemas comuns ao exportar um inventário de arquivos do OneDrive
PowerShell retorna um erro de acesso negado
Esse erro ocorre quando a conta usada para conectar não tem permissões de administrador do SharePoint ou quando o site do OneDrive não está provisionado. Verifique se sua conta tem a função de administrador do SharePoint no centro de administração do Microsoft 365. Se o site não estiver provisionado, o usuário deve fazer login no OneDrive pelo menos uma vez para criar o site.
O arquivo CSV está vazio ou contém apenas cabeçalhos
O cmdlet Get-PnPFolderItem com -ItemType File retorna apenas arquivos na pasta especificada, não subpastas. Se a pasta alvo não tiver arquivos diretamente dentro dela, a saída será vazia. Use -ItemType Folder primeiro para listar subpastas e depois faça um loop em cada subpasta para coletar todos os arquivos.
O script demora muito em contas grandes do OneDrive
Contas do OneDrive com mais de 10.000 arquivos podem fazer o script levar vários minutos. Adicione o parâmetro -Recursive ao Get-PnPFolderItem para incluir todas as pastas aninhadas em uma única chamada. Isso reduz o número de solicitações de API e acelera a exportação.
Métodos alternativos para exportar inventário de arquivos do OneDrive
Se você não puder usar o PowerShell, dois outros métodos fornecem dados de inventário parciais.
Relatórios de uso do centro de administração do Microsoft 365
Vá para o centro de administração do Microsoft 365, selecione Relatórios, depois Uso e depois OneDrive. Este painel mostra a contagem de arquivos por usuário, contagem de arquivos ativos e armazenamento usado. Clique em Exportar para baixar um arquivo CSV. Este relatório não inclui nomes de arquivos individuais ou status de compartilhamento.
Inventário de dados do centro de conformidade do Microsoft 365
O centro de conformidade fornece um relatório de inventário de dados que lista arquivos do OneDrive contendo informações confidenciais. Este relatório usa pesquisa de conteúdo e inclui localização do arquivo, data da última modificação e rótulos de classificação. É limitado a arquivos correspondentes à consulta de pesquisa e não cobre todos os arquivos.
| Item | Script PowerShell | Relatório do Centro de Administração |
|---|---|---|
| Granularidade dos dados | Nomes de arquivos individuais, tamanhos, datas e status de compartilhamento | Apenas contagens agregadas por usuário |
| Detalhes de compartilhamento | Incluídos com cmdlets adicionais | Não incluídos |
| Facilidade de uso | Requer conhecimento de PowerShell | Nenhum script necessário |
| Escopo | Usuário único ou todos os usuários com um loop | Todos os usuários de uma vez |
| Limite de contagem de arquivos | Sem limite, mas conjuntos grandes demoram | Até 10.000 linhas por exportação |
O método PowerShell oferece controle total sobre as colunas de dados e o escopo. O relatório do centro de administração é mais rápido para uma visão geral de alto nível, mas carece de detalhes.
Após exportar o inventário, abra o CSV no Excel. Use filtros para classificar por tamanho do arquivo em ordem decrescente e encontrar os maiores arquivos. Use a coluna de última modificação para identificar arquivos com mais de 12 meses. Crie uma tabela dinâmica para contar arquivos por caminho de pasta e obter uma análise do armazenamento.
Para monitoramento contínuo, agende o script PowerShell usando o Agendador de Tarefas do Windows. Execute-o semanalmente e salve a saída em uma pasta compartilhada. Compare as mudanças semanais para acompanhar o crescimento ou detectar adições incomuns de arquivos.