Eu tenho uma série de pastas em um servidor que precisa ser verificada regularmente de que estão sendo copiadas corretamente. Gostamos de ter pelo menos um backup nessa pasta que não tenha menos de 7 dias. Os backups estão no formato .zip.
Eu quero poder ver os diretórios que não contêm arquivos zip que foram modificados ou criados nos últimos 7 dias.
Aqui está um exemplo de como é a estrutura do arquivo:
\server01\backups\PLANT1\A
\server01\backups\PLANT1\B
\server01\backups\PLANT2\A
\server01\backups\PLANT2\B
...etc
Consegui montar um script powershell que retorna o diretório inteiro de arquivos zip e outro que lista os que foram modificados nos últimos 7 dias, mas não aquele que retorna apenas os diretórios daqueles que não têm o arquivos que precisamos.
Aqui está o script que acabei de mencionar:
$DateToCompare = (Get-date).AddDays(-7)
Get-ChildItem \server01\backups -recurse -include *.zip | Where {(!$_.PsIsContainer) -and ($_.lastwritetime -gt $DateToCompare)} | select DirectoryName,Name,LastWriteTime | sort DirectoryName
Sua orientação é muito apreciada.
Editar:
Aqui está o código em sua forma final. Eu estava muito perto.
$DateToCompare = (Get-Date).AddDays(-7)
Get-ChildItem \server01\backups -recurse -include *.zip | Where {(!$_.PsIsContainer) -Notcontains ($_.creationtime -gt $DateToCompare)} | select DirectoryName,Name,CreationTime | sort DirectoryName