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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| function synchro-liste{
param (
[parameter(position=0,mandatory=$true)]
[string]$liste,
[parameter(Position=1,Mandatory=$true)]
[string]$listediff
)
#déclaration d'une variable tableau
$synchro=@()
#regex
$pattern = '[^a-zA-Z]'
$date= get-date -Format " dd-MM-yyyy HH:mm"
#Récup contenu fichier "liste diffusion MR"
$chemin= "C:\Users\Bruner\Documents\script\" + $listediff
$path= "C:\Users\Bruner\Document\Script" + $liste
#test si le fichier existe
$testfic = test-path -Path $chemin,$path
if ($testfic -eq $true) {
#import-csv se rend au chemin spécifié et récupère le contenue du fichier csv
$listeMR= Import-Csv -Path $chemin -Encoding UTF8 -Delimiter ";"
$listesortis= Import-Csv -Path $path -Encoding UTF8 -Delimiter ";"
}else {
$synchro += "Une erreur c'est produite lors de récupération de: $listediff. $date"| Select-Object @{Name="Erreur";Expression={$_}}
$synchro | Export-Csv -path "C:\Users\Bruner\Document\script\MAJ-$liste-$listediff" -Encoding UTF8 -NoTypeInformation
exit
}
Foreach($element in $listeMR){
$present= $true
$objet= New-Object PSObject
#déclaration en mémoire d'une varibale objet
$nom= $element.NOM
$prenom= $element.PRENOM
$nom = $nom -replace '\-|\s|_|\+|\*',''
$prenom = $prenom -replace '\-|\s|_|\+|\*',' '
Foreach($elmentMR in $liste){
if ($elementMR.NOM -eq $null -or $elementMR.PRENOM -eq $null) {
$nomMR = $elementMR.NOM
$prenomMR = $elementMR.PRENOM
}else {
$prenomMR = $prenomMR -replace '\-|\s|_|\+|\*',' '
$nomMR = $nomMR -replace '\-|\s|_|\+|\*',''
}
if ($nom -eq $nomMR -and $prenom -eq $prenomMR) {
$present= $flase
break
}
}
if ($present -eq $true) {
#$true / on supprime dans liste diff
$objet | Add-Member -Name NOM -MemberType NoteProperty -Value $nom -Force
$objet | Add-Member -Name PRENOM -MemberType NoteProperty -Value $prenom -Force
}
$synchro += $objet
}
foreach($ligne in $liste){
$present= $false
$item=New-Object PSObject
if ($ligne.NOM -eq $null -or $ligne.PRENOM -eq $null) {
$nom= $ligne.NOM
$prenom = $ligne.PRENOM
}else {
$nom = $nom -replace '\-|\s|_|\+|\*',''
$prenom = $prenom -replace '\-|\s|_|\+|\*',' '
}
foreach($ligneMR in $listeMR) {
$nomMR= $ligneMR.NOM
$prenomMR= $ligneMR.PRENOM
$nomMR = $nomMR -replace '\-|\s|_|\+|\*',''
$prenomMR = $prenomMR -replace '\-|\s|_|\+|\*',' '
if ($nom -eq $nomMR -and $prenom -eq $prenomMR) {
$present = $true
break
}
}
if($present -eq $true){
continue
} else {
$item | Add-Member -MemberType NoteProperty -Name NOM -Value $nom -Force
$item | Add-Member -MemberType NoteProperty -Name NOM -Value $prenom -Force
}
$synchro+= $item
}
$synchro |Select-Object NOM,PRENOM | Export-Csv -path "C:\Users\bruner\document\script\listetest.csv" -Encoding UTF8 -NoTypeInformation -Delimiter ";"
} |
Partager