Altere as permissões dos arquivos criados rotineiramente com o PowerShell

Altere as permissões dos arquivos criados rotineiramente com o PowerShell

Tenho um certo problema que atualmente não consigo resolver sozinho. Minha empresa possui uma pasta pública onde os usuários (outros trabalhadores) podem criar arquivos. O problema é que esta pasta precisa ser configurada de forma que os usuários possam criar arquivos nela no mesmo dia: todas as noites um script é executado tornando todos os arquivos recém-criados nesta pasta (incluindo todos os arquivos em subpastas) somente leitura . Esta pasta pública está localizada em uma máquina baseada no Windows 10.

Já consegui um script Powershell simples que é capaz de definir todos os arquivos como somente leitura na pasta atual:

$folderPath = 'C:\TestFolder' 
Get-ChildItem -Path $folderPath -Recurse -File | % { $_.IsReadOnly=$True }`

Este script PowerShell é executado a partir da conta de administrador e significa que após a execução diária do script, apenas o administrador pode editar arquivos na pasta, mas os usuários não podem mais. No dia seguinte, os usuários podem criar novos arquivos, mas não editar mais os atuais e o ciclo se repete todos os dias: novos arquivos serão "bloqueados" como somente leitura a partir do dia seguinte.

Alguém tem ideia de como implementar esse tipo de permissão de arquivo no PowerShell?

Minha própria ideia de um algoritmo para este script:

  • Localize todos os arquivos recursivamente

  • torná-los somente leitura

  • remova o acesso do usuário para modificar qualquer arquivo encontrado

  • manter o acesso aos usuários para criar novos arquivos e visualizar os atuais

    Qualquer conselho é muito bem-vindo!

Responder1

Você pode especificar apenas arquivos anteriores a uma data específica com o PowerShell assim:

Get-ChildItem -Path $folderPath -Recurse -File | 
    Where-Object CreationTime -lt (get-date).AddDays(-1) | 
    % { $_.IsReadOnly=$True }

Certifique-se de que a propriedade do proprietário do arquivo ou suas permissões também sejam alteradas, pois o proprietário geralmente pode definir as permissões novamente para leitura/gravação. Você pode verificar na interface do explorador de arquivos ou comGet-Acl \\path\to\file.ext

informação relacionada