Bonjour à tous,

Je cherche à générer un fichier de LOG afin d'indiquer quand a été effectué mon script. Le script supprime des fichiers de LOG d'applications.
J'ai trouvé le script sur internet et je l'ai un peu adapté, je changerais le nom des variables ensuite.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Début du script

# Déclaration des variables

$mydata = "C:\bckp\Test1"
$jour = Get-Date
$lastmod = $jour.AddDays(-30)

# requête

Get-Childitem $mydata -recurse -force | Where {$_.LastWriteTime -le "$lastmod"} | Foreach {
If (($_.extension -eq ".log") -or ($_.extension -eq ".svclog")) {

Remove-Item $_.fullname | out-null
}
}

# Fin du script
Il scan l'arborescence indiqué et supprime les fichiers de plus de 30 jours.

Afin d'être sur que la commande est passé, je voudrais créer un fichier log reprenant certaines informations. J'ai donc modifié le script mais il ne fonctionne pas comme je veux.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Début du script

# Déclaration des variables

$mydata = "C:\bckp\Test1"
$jour = Get-Date
$lastmod = $jour.AddDays(-30)

# Démarrage Log
Start-Transcript C:\bckp\purgelog.log

write-host "Début de la suppression des fichiers"
write-host $mydata
write-host $jour
write-host $lastmod

# requête

Get-Childitem $mydata -recurse -force | Where {$_.LastWriteTime -le "$lastmod"} | Foreach {
If (($_.extension -eq ".log") -or ($_.extension -eq ".svclog")) {

Remove-Item $_.fullname | out-null
# write-host "Deleting File $_.fullname" -foregroundcolor "Red"; Remove-Item $_.fullname | out-null
}
}

write-host $jour
write-host $lastmod
write-host 'Fin de la suppression des fichiers'

# Fin LOG
Stop-Transcript

# Fin du script
1er problème :
Le fichier est bien généré, mais le contenu est remplacé à chaque fois au lieu d'être implémenté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
**********************
Début de la transcription Windows PowerShell
Heure de début*: 20140808131416
Nom d'utilisateur*: *
Ordinateur	  : * 
**********************
Transcription démarrée, le fichier de sortie est C:\bckp\purgelog.log
Début de la suppression des fichiers
C:\bckp\Test1
08/08/2014 13:14:16
09/07/2014 13:14:16
08/08/2014 13:14:16
09/07/2014 13:14:16
Fin de la suppression des fichiers
**********************
Fin de la transcription Windows PowerShell
Heure de fin*: 20140808131416
**********************
Pour implémenter le contenu, j'ai vu >>. Mais je ne sais pas trop ou je dois l'ajouter, car j'ai fait un test mais il m'intégrait pas toutes les informations
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Start-Transcript C:\bckp\purgelog.log
.

Il y a probablement une autre manière de faire... Je continue à chercher.