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

Rédigé par O. Clotaire 3 commentaires
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.

3 commentaires

#1  - https://e2bet.wang/ a dit :

Hi there I am so glad I found your webpage,
I really found you by mistake, while I was browsing on Google for something
else, Anyways I am here now and would just like
to say many thanks for a remarkable post and a
all round exciting blog (I also love the theme/design), I don't have time to read
through it all at the moment but I have saved it
and also added in your RSS feeds, so when I have
time I will be back to read more, Please do keep up the great job.

Répondre
#2  - https://top10trangcacuoc.it.com/ a dit :

Oh my goodness! Amazing article dude! Thank you so much, However I
am encountering difficulties with your RSS. I don't
understand the reason why I can't subscribe to it. Is there anybody getting the same RSS issues?
Anyone that knows the solution will you kindly respond?
Thanks!!

Répondre
#3  - https://tk88.name/ a dit :

I like reading through a post that can make people think.
Also, thanks for permitting me to comment!

Répondre

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est le cinquième caractère du mot kpsyt2qd ?

Fil RSS des commentaires de cet article

↓