FC ConcursosFC Concursos

Questão FC375872

Qual a sequência de comandos em PowerShell atende de forma segura e automatizada as exigências anteriores?

Questões sem classificação de assunto (TI - Sistemas Operacionais)

Instituto Consulplan · 2025

No ambiente computacional da Niterói Prev, baseado em estações de trabalho Windows 10 e Windows Server 2019, considere que o analista de sistema recebeu a tarefa de criar um script em PowerShell para realizar backups automáticos dos relatórios previdenciários. O script deve:

 

\(\bullet\) Verificar se o diretório C:\BackupRelatorios existe e, se não existir, criá-lo;

 

\(\bullet\) Copiar apenas os arquivos modificados nas últimas vinte e quatro horas do diretório C:\Dados\Relatorios para C:\BackupRelatorios;

 

\(\bullet\) Compactar esses arquivos em um arquivo .zip; e

 

\(\bullet\) Excluir automaticamente os backups .zip mais antigos que sete dias.

 

Qual a sequência de comandos em PowerShell atende de forma segura e automatizada as exigências anteriores?

  1. if (!(Test-Path "C:\BackupRelatorios")) { New-Item -Path

    "C:\BackupRelatorios" -ItemType Directory }

    Get-ChildItem "C:\Dados\Relatorios" -Recurse |

    Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) } |

    Compress-Archive -DestinationPath

    "C:\BackupRelatorios\BackupRelatorios.zip"

    Get-ChildItem "C:\BackupRelatorios\*.zip" | Where-Object {

    $_.LastWriteTime -lt (Get-Date).AddDays(-7) } | Remove-Item

  2. New-Item -Path "C:\BackupRelatorios" -ItemType Directory -Force

    Copy-Item "C:\Dados\Relatorios" -Destination

    "C:\BackupRelatorios"

    Compress-Archive "C:\BackupRelatorios"

    "C:\BackupRelatorios\BackupRelatorios.zip"

    Remove-Item "C:\BackupRelatorios\BackupRelatorios.zip" -Force

  3. if (!(Test-Path "C:\BackupRelatorios")) { New-Item

    "C:\BackupRelatorios" }

    Get-ChildItem "C:\Dados\Relatorios" |

    Where-Object { $_.CreationTime -gt (Get-Date).AddDays(-1) } |

    Compress-Archive -DestinationPath

    "C:\BackupRelatorios\BackupRelatorios.zip"

  4. mkdir "C:\BackupRelatorios"

    Copy-Item -Path "C:\Dados\Relatorios\*" -Destination

    "C:\BackupRelatorios" -Recurse

    Compress-Archive -DestinationPath

    "C:\BackupRelatorios\BackupRelatorios.zip"

    Remove-Item "C:\BackupRelatorios\*" -Exclude "*.zip"

Mostrar resposta e comentário

Gabarito

A

Comentário do professor

O trecho apresentado implementa, de forma clara e automática, todas as exigências pedidas pelo enunciado.

if (!(Test-Path ...)) { New-Item ... }
Verifica se o diretório C:\BackupRelatorios existe com Test-Path e, se não existir, cria-o com New-Item -ItemType Directory, garantindo o destino do backup.

Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }
Lista recursivamente os arquivos em C:\Dados\Relatorios e filtra apenas os modificados nas últimas 24 horas usando LastWriteTime comparado a (Get-Date).AddDays(-1).

Compress-Archive -DestinationPath
Compacta os arquivos filtrados em um arquivo .zip no caminho indicado, atendendo à exigência de gerar o arquivo compactado.

Get-ChildItem "C:\BackupRelatorios\*.zip" | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } | Remove-Item
Localiza arquivos .zip com mais de sete dias e os remove, automatizando a limpeza dos backups antigos.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo