Bonjour à toutes et à tous,

Je rencontre un problème avec ce script. Le script fonctionne bien quand les dossiers existent, mais s'ils n'existent pas, le script ne créé pas $destination1 ni celui $destinationfinal ?????????

J'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Copy-Item : La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.
Au niveau de C:\down\SauvMail\Sauve_Ost.ps1 : 46 Caractère : 14
+     Copy-Item <<<<  -Path $_ -Destination $destinationfinal -recurse -force
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], IOException
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyItemCommand
Voici le script :

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#*********************************************************************
#************ Moniaux Kévin >> Sauvegarde mail ***********************
#************************* 01/06/2016*********************************
#*********************************************************************
  
#******************  Uniquement à modifier  **************************
#*********************************************************************
  
 
  
$destination1 = "C:\Down\SauvMail\"+[Environment]::UserName
 
#*********************************************************************
#***********  Ne pas modifier les elements ci-dessous  ***************
#*********************************************************************
  
$outlook = "$home\AppData\Local\Microsoft\Outlook"
$outlook2 = "$home\Documents\Fichiers Outlook"
$outlook3 = "$home\Appdata\Roaming\Microsoft\Outlook"
$destinationfinal = $destination1+"\"+[Environment]::MachineName+"\"
 
  
If (!(Test-Path $destination1)){ # création du dossier utilisateur
New-Item -Type Directory -Name $destination1  
If (!(Test-Path $destinationfinal)){ # création du dossier utilisateur
    New-Item -Type Directory -Name $destinationfinal
    }
}
  
If (Test-Path $outlook3) { #Vérifier l'existance du dossier
  
    write-host "Sauvegarde en cours de votre profil Outlook, veuillez attendre la fermeture de la fenêtre pour ouvrir Outlook !"
      
    Get-ChildItem -name $outlook3 -include "*.default" | ForEach{
    $zone = $destinationfinal+$_
    }
      
    Get-ChildItem -Path $outlook3 -include "*" -recurse | ForEach{
    Copy-Item -Path $_ -Destination $zone -recurse -force
    }
}
  
If (Test-Path $outlook) { #Vérifier l'existance du dossier
    Get-ChildItem $outlook -include "*.ost" -recurse | ForEach-Object{
    write-host "Sauvegarde en cours de votre profil Outlook, veuillez attendre la fermeture de la fenettre pour ouvrir Outlook !"
    Copy-Item -Path $_ -Destination $destinationfinal -recurse -force
    }
}
  
If (Test-Path $outlook2) { #Vérifier l'existance du dossier
    write-host "Sauvegarde en cours de votre profil Outlook, veuillez attendre la fermeture de la fenettre pour ouvrir Outlook !"
    Get-ChildItem $outlook2 -include "*.ost" -recurse | ForEach-Object{
    Copy-Item -Path $_ -Destination $destinationfinal -recurse -force
    }
    }

En vous remerciant par avance de votre aide.