Ir ao conteúdo
  • Cadastre-se

Bat script para verificação tamanho de pasta, arquivos e nome proprietário


Ir à solução Resolvido por Swalls,

Posts recomendados

Olá pessoal estou retornando mais uma vez para contar com a ajuda de você!

Arrumei este script em PowerShell para verificar o tamanho dos arquivos e pastas no servidor.

Neste caso usando  $directory="D:\Aeroporto Viracopus"

Consigo tanto verificar tamanho de uma pasta especifica quanto todas relacionada aos discos E; F; o que quebrando o galho.  

 

$directory="C:\Users\evers\Documents\Pasta_teste_2"

$listdir= Get-ChildItem -force $directory -Directory -Recurse -ErrorAction SilentlyContinue | % { $_.fullname }

$results=@()

foreach ($line in $listdir){

$o= Get-ChildItem –force $line –Recurse -ErrorAction SilentlyContinue | measure Length -s -ErrorAction SilentlyContinue | Select-Object -Property @{name='Directory';expression={$line}}, @{n="Size(GB)";e={[math]::Round((($_.Sum)/1GB),2)}}

$results+=$o

}

$results+= Get-ChildItem –force $directory –Recurse -ErrorAction SilentlyContinue | measure Length -s -ErrorAction SilentlyContinue | Select-Object -Property @{name='Directory';expression={$directory}}, @{n="Size(GB)";e={[math]::Round((($_.Sum)/1GB),2)}}

$results

 

Neste caso o retorno é este:

Directory                              Size(GB)

---------                              --------

C:\Users\evers\Documents\Pasta_teste_2     0,07

 

Gostaria de gerar um relatório com esta saída tipo:

 

> C:\Users\evers\Documents\Pasta_teste_2\everson.rel1.txt

 

E outra informação que preciso é quem é o proprietário da pasta, mas também  não consegui, se puderem me ajudar agradeço.

Obrigado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solução

Em minha opinião, powershell é uma sintaxe deveras bizarra.

obs: você nunca, jamais, sob hipotese alguma, deve por ponto no meio de um nome de arquivo/diretorio ou atalho.

 

pegar o nome e proprietario das pastas é fácil, basta usar dir /AD /Q > rel1.txt , porém pegar o tamanho da pasta é meio chatinho de fazer.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Gostaria de agradecer Swalls, pela ajudar e solução.

complementando o código acima para impressão em relatório vou colocar o código completo caso alguém necessite.

$directory="C:\Users\evers\Documents\Pasta_teste_2"

$listdir= Get-ChildItem -force $directory -Directory -Recurse -ErrorAction SilentlyContinue | % { $_.fullname }

$results=@()

foreach ($line in $listdir){

$o= Get-ChildItem –force $line –Recurse -ErrorAction SilentlyContinue | measure Length -s -ErrorAction SilentlyContinue | Select-Object -Property @{name='Directory';expression={$line}}, @{n="Size(GB)";e={[math]::Round((($_.Sum)/1GB),2)}}

$results+=$o

}

$results+= Get-ChildItem –force $directory –Recurse -ErrorAction SilentlyContinue | measure Length -s -ErrorAction SilentlyContinue | Select-Object -Property @{name='Directory';expression={$directory}}, @{n="Size(GB)";e={[math]::Round((($_.Sum)/1GB),2)}}

$results | Export-Csv -Path "C:\Users\evers\Documents\Pasta_teste_2\eve_temp.csv" -NoTypeInformation -Encoding UTF8 -Delimiter ";"

 

Link para o comentário
Compartilhar em outros sites

Bom dia a todos!

Swalls

Agradeço sua colaboração , e se não for abusar, gostaria de saber se é possível extrair conforme print anexo esta informação através de comando .bat levando em conta que se trata de um servidor que não tem usuários cadastrados no Active Directory (AD) , neste caso preciso de uma listagem para descobrir quais são usuários  das pastas uma vez que tenho inúmeras pastas criadas mas não sei quais usuários são proprietários das pastas por ser um servidor antigo onde não configurado o AD.

Como viu estou tentando com comandos PowerShell 

usuários.JPG

Link para o comentário
Compartilhar em outros sites

se quer listar usuários e suas permissões para uma pasta pode usar o icacls "caminho"

ex:

icacls "desktop"

 

 

se quiser para todas as pastas em um diretorio(no seu caso como é um servido fica \\servidor\..), basta fazer assim(não testei, pode fazer com FOR padrão no lugar de forfiles também):

set "diretorio=C:\Caminho\Para\O\Diretorio"

forfiles /P "%diretorio%" /S /C "cmd /c icacls @path"

 

aí se quiser salvar num txt

set "diretorio=C:\Caminho\Para\O\Diretorio"

forfiles /P "%diretorio%" /S /C "cmd /c icacls @path >> rel1.txt"


A descrição abaixo mandei o GPT gerar para mim, muito texto.
 

  • F: Permissão de Controle Total (Full Control). O usuário ou grupo possui permissão total para ler, gravar, modificar, excluir e executar o item.

  • M: Modificar (Modify). O usuário ou grupo tem permissão para ler, gravar, modificar e excluir o item, mas não possui permissões para alterar permissões ou propriedades do item.

  • R: Ler (Read). O usuário ou grupo tem permissão apenas para ler o item.

  • X: Executar (eXecute). O usuário ou grupo tem permissão para executar um arquivo executável.

  • W: Gravar (Write). O usuário ou grupo tem permissão para gravar no item, mas não tem permissão para excluir ou modificar permissões.

  • N: Negação (No access). O usuário ou grupo está explicitamente negado o acesso ao item, anulando quaisquer outras permissões concedida

  • OI: Proprietário (Owner Inherit). Indica que a permissão é herdada pelo proprietário do objeto.

  • CI: Filhos (Child Inherit). Indica que a permissão é herdada pelos objetos filhos (subpastas e arquivos) dentro de uma pasta.

  • IO: Herdado pelo Proprietário (Inherited by Owner). Indica que a permissão é herdada do objeto pai pelo proprietário.

  • ID: Herdado pelos Filhos (Inherited by Child). Indica que a permissão é herdada do objeto pai pelos objetos filhos.

 

Se for um relatório para ser apresentado basta você substituir as letras pelos seus significados usando o bloco de notas ou qualquer editor de texto.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!