Gestion de Date dans un Tableau

Plus d'informations
il y a 1 mois 1 semaine #29811 par dus69
Bonjour,

Merci par avance de votre aide.

Voici mon problème:
je souhaite récupérer uniquement les MediaID qui ont une date comprise entre deux dates (aujourd'hui et -5 jours)
à partir d'un extract d'un fichier txt que j'obtiens avec des commandes de l'application.
je crée un Tableau avec deux colonnes MediaID et LastMount (date) , j'aimerai sélectionner seulement
les MediaID qui ont moins de 5 jours.

MediaID LastMount

000038L5 29/03/2020
000042L5 09/06/2019
000044L5 11/11/2019
000045L5 05/04/2020
000050L5 10/11/2019
000051L5 10/11/2019

et la je suis un peu perdu...

j'arrive cependant avec un résultat en testant à $True
les valeurs dans mon tableau. mais le format date n'est pas pris en compte

@{MediaID=000038L5; LastMount=29/03/2020}




#fichier d'inventaire
$NbuInventaire = \"C:\*\nbuinventaire.txt\"
$file = get-content $NbuInventaire | where {$_ -match \"Iron_Mountain\"} |Select-Object -Skip 3

# Mise en forme du fichier d'inventaire

$file | foreach {

$_.Remove(8,70)

}| Out-File \"C:\Users\*\newNbuInventaire.txt\"

#Nouveau fichier d'inventaire
$NewFile = Get-Content \"C:\*\newNbuInventaire.txt\"

# création du tableau MediaID et LAstMount
$tableau = @()

foreach ($ligne in $Newfile) {

# je split chaque ligne du fichier pour récuper les info MediaID et LastMount
$LigneTrait = $ligne -split (\" \")

# Je convertie au format Date les resultats LastMount

# Date de retention à 5 jours
$Retention = (get-date).AddDays(-5).ToShortDateString()
# récuperation de la Linge LastMount
$RecupLastMount = $LigneTrait[2]
# je la convertie en format DateTime court
$LastMount = [datetime]::Parse($RecupLastMount, [System.Globalization.CultureInfo]::GetCultureInfo(\"fr-FR\"))

$Object=[pscustomobject]@{

# Ligne MediaID auquel j'ajoute L5
MediaID = $LigneTrait[0]+'L5'
#
LastMount = $LastMount.ToShortDateString()
}

$tableau+=$Object
}

foreach ($i in $tableau){

if ( $LastMountLess5D = $LastMount.AddDays(-5) ){

if ( ($LastMountLess5D.ToShortDateString() -gt $Retention) -eq $true){

Write-Host \" $i \" -ForegroundColor Green

}
else {

write-host \" $i \" -ForegroundColor Cyan

}
}
}


En espérant avoir été assez clair.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.146 secondes
Propulsé par Kunena