Bonjour a tous ,

j’utilise ce script Powershell pour surveiller un répertoire un fois j'ai un nouveau fichier déposer sur ce répertoire il est Transférer automatiquement vers un deuxième répertoire

la fonction de surveillance est System.IO.FileSystemWatcher

maintenant je doit tracer tout mes transfert des fichier faite après l'activation de la function System.IO.FileSystemWatcher

je doit avoir ce type de message 24-06-2020-->le fichier xxxx a été transférer du folderA vers FolderB j'ai essayer avec | Out-File -FilePath $ScriptLogs -Append mais je ne sait pas comment il fonctionne

ci joint le script de surveillance

Code PowerShell : 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
### version1 .0 
#######################################
#######################################
 
param
([int] $mode ,
[string] $source  ,
[string] $destination,
[string] $path
) 
 
# DATE ARRAYS
$Date = get-date -Format yyyyMMdd
$Hour = get-date -Format T
 
 
 
#mode
#$mode='1'
 
# PATHS
#$source ='c:\folderA' #chemin du fichier source 
#$destination='c:\folderBB' #chemin du fichier destination 
#$path='C:\TSQL\EDI\EDI_AOG\Powershell\test.bat' #chemin du fichier bat 
$ScriptLogs = "c:\folderA\$Date-Script.log"
#Tester la présence du Fichier source  
 
If ((Test-Path $source  ) -eq $false )
{
write-host   "dossier $source Inexistant"
Write-Output "$Hour :---> dossier $source Inexistant"       | Out-File -FilePath $ScriptLogs -Append
 
}
#Tester la présence du Fichier source  
elseIf ((Test-Path $destination  ) -eq $false )
{
write-host   "dossier $destination Inexistant"
Write-Output "$Hour :----> dossier $destination Inexistant"  | Out-File -FilePath $ScriptLogs -Append
}
else 
{
 
if ($mode -eq '1')
{
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.IncludeSubdirectories = $true
$watcher.Path = $source
$watcher.EnableRaisingEvents = $true
#Evenement
$action =
{
    $source = $event.SourceEventArgs.FullPath
    $changetype = $event.SourceEventArgs.ChangeType
	$logline = "$(Get-Date), $changeType, $source"
    Write-Host "$path was $changetype at $(get-date)"  
    Move-Item -Path $source  -Destination $destination
    Start-Process $path
}
 
Register-ObjectEvent $watcher "Created" -Action $action
Write-Output "$Hour :--->$watcher Created"  | Out-File -FilePath $ScriptLogs -Append
Write-Output "$Hour :--->Supervision du dossier $source"  | Out-File -FilePath $ScriptLogs -Append
}
 
#Annulation inscription Evenement 
else
{
Get-EventSubscriber | Unregister-Event
write-host "Annulation inscription Evenement "
Write-Output "$Hour :--->Annulation inscription Evenement"  | Out-File -FilePath $ScriptLogs -Append
}
Get-EventSubscriber
 
}

merci pour vos aides