PowerShell | Vérifier les fichiers modifiés pendant une période

Rédigé par O. Clotaire Aucun commentaire
Classé dans : PowerShell Mots clés : PowerShell, Windows, Sauvegarder, Restaurer

Avant une restauration de fichiers dans un répertoire, nous pouvons vérifier si des fichiers ont été modifiés à partir d'une date précise, grâce à PowerShell. Cela permettra d'affiner cette restauration de documents. 

Avec l'instruction Get-ChildItem qui remonte les fichiers, on s'aperçoit qu'il y a une colonne LastWriteTime. Elle informe de la date et l'heure de dernière modification. 

La CommandLet Get-Date nous informe sur la date actuelle que l'on utilisera avec la méthode AddHours.

Pour connaitre l'heure qu'il fera dans 1 heure : 
(Get-Date).AddHours(1)
Pour connaitre la date du lendemain : 
(Get-Date).AddDays(1)
Pour connaitre la date d'un jour et une heure avant l'heure actuel : 
((Get-Date).AddDays(-1)).Addhours(-1)
Pour remonter les informations de certains types de fichiers : 
Get-ChildItem -path C:\Users\MyName -recurse -Include *.pdf, *.xlsx

Exemple d’interprétation remontant les fichiers modifiés pendant les dernières 24 heures :

J'ajoute une variable pour le total des heures $HTT.
$HTT = -24
Get-ChildItem -path C:\Users\MyName\Downloads -recurse | Where-Object {$_.LastWriteTime -gt (Get-Date).Addhours($HTT)}| Out-File C:\Temp\modifiés.txt
Résultat de l’interprétation :
    Répertoire : C:\Users\MyName\Downloads

Mode                LastWriteTime         Length Name                          
----                -------------         ------ ----                          
d-----       02/04/2020     19:28                pluxml                        
-a----       08/04/2020     22:10           8435 kzInstall.php 

Calculer le nombre une période de plusieurs heures ou plusieurs jours à chaque fois me rebute... Ça fait combien d'heures 15 jours et 12 heures, en heures ?

J'ai donc chercher à faire un script qui me permet de préciser la date à partir de laquelle je veux effectuer ma vérification de fichiers modifiés.
##################################################################
# Script permettant de rechercher les fichiers modifiés
# dans les répertoires récursifs à partir d'une date précise. 
# # A Modifier en fonction de votre besoin (en rouge )
# - $FixDate 
# - $RepView 
# - $Log # - $InfoStart 
# - $InfoEnd
################################################################# 
# Date $GD = Get-Date 
$FixDate = Get-Date -Year2020 -Month 04 -Day 07 -Hour 09 -Minute 35
# Répertoire 
$RepView = "C:\Users\MyName\Downloads
# Journal d'audit 
$Log = "C:\Temp\test.txt
# Recherche de modification 
$FilerList = Get-ChildItem -path $RepView -recurse | Where-Object {$_.LastWriteTime -gt $FixDate} 
# Compteur de fichiers modifiés 
$FilerCount = $FilerList.Count 
# Messages 
$InfoStart = "Fichiers et/ou dossiers modifiés depuis le $FixDate : Total de $FilerCount"
$InfoEnd = "Fin de vérification de $RepView le : $GD
# Ecriture du journal 
$FilerList | Out-File $Log 
# Ajoute une information à la fin du log 
Add-Content -Path "$Log" -Value $InfoEnd 
# Cherche les informations du contenu du log 
$GetContentLog = Get-Content -Path $Log 
# Enregistre l'information pour la 1 ère ligne du log 
$GetContentLog[0] = "{0}`r`n{1}" -f $InfoStart, $GetContentLog[0] 
# Réécrire le log avec toute les informations dans l'ordre 
$GetContentLog | Set-Content $Log 
# Voir les informations du log dans le prompt 
Write-Host $Content
A chaque exécution, le journal sera entièrement modifié. 

A PROPOS

  • Grace à mon expérience dans les Systèmes d'Information, j'ai le privilège de partager mon expérience en les centralisant sous la forme d’une base de connaissance.
  • Parfois certaines de nos questions ne trouvent pas toujours de réponse. Le domaine de l’informatique évolue rapidement, il est alors important de pouvoir profiter des solutions déjà expérimentés.
  • Ce site sera de plus en plus accessible.
  • Je vous remercie d’avance pour vos éventuelles remarques constructives permettant son amélioration.

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est le premier caractère du mot sdf10w ?

Fil RSS des commentaires de cet article

↓