Question
[Résolu] Création de dossiers multiples
- Van_De
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 15 ans 4 mois #8493
par Van_De
[Résolu] Création de dossiers multiples a été créé par Van_De
Je fais un nouveau poste car mon problème est différent de l'intitulé de mon précédent 
Donc je vais carrément copier mon code afin d'être plus clair dans mes explications :
[code:1]
##########################Script Sauvegarde###########################
#Création des variables#
$Scriptdirectory = \"c:\Scripts\"
$BackupDest = \" \\bxad02\VMBackup\Test\"
$MailDest = \"xxxx@xxxx\"
$MailSend = \"zzzz@xxxx\"
$ListofVMs = Get-WmiObject -namespace root\virtualization Msvm_ComputerSystem -filter \"Description <> `\"Microsoft Hosting Computer System`\"\"
$Fichierscsv = @()
$VmDirectory = $ListofVMs | % {$_.ElementName}
#Création du fichier csv \"VMlist\"#
$ListofVMs | foreach {
$fichier = New-Object PSObject
$fichier | Add-Member NoteProperty Nom $_.ElementName
$Fichierscsv += $fichier}
$Fichierscsv | Export-Csv D:\Vm\VMlist.csv -UseCulture -NoTypeInformation
#Vérification du lecteur Y
if (Test-Path Y:«») {Start -FilePath $Scriptdirectory\vssbackupstop.cmd -NoNewWindow -Wait}
#Lancement du cmd vssbackup#
Start -FilePath $Scriptdirectory\vssbackup.cmd -NoNewWindow -Wait
#Vérification du lecteur Y#
if (Test-Path Y:«») {}
else {Start -FilePath $Scriptdirectory\vssbackup.cmd -NoNewWindow -Wait}
#Création des dossiers de VM#
md $BackupDest\$VmDirectory
#Lancement du cmd robocopy#
Start -FilePath $Scriptdirectory\robocopy.cmd -NoNewWindow -Wait
#Création, suppresion de Ancienbackup et Dernierbackup#
if (Test-Path $BackupDest\.\AncienBackup)
{
rm $BackupDest\.\AncienBackup -recurse
rni '$BackupDest\.\DernierBackup' '$BackupDest\.\AncienBackup'
rni '$BackupDest\.\Temp' '$BackupDest\.\DernierBackup'
}
else
{
md $BackupDest\.\AncienBackup
cp $BackupDest\.\Temp\* -Destination $BackupDest\.\AncienBackup
rni '$BackupDest\.\Temp' '$BackupDest\.\DernierBackup'
#Lancement du cmd vssbackustop#
Start -FilePath $Scriptdirectory\vssbackupstop.cmd -NoNewWindow -Wait
[/code:1]
Lors de la création des dossiers des VMs, j'ai un problème. Il crée un seul dossier avec pour nom \"VM1 VM2 VM3\" Et non 3 dossiers au nom \"VM1\" \"VM2\" \"VM3\" !!
Je ne comprends pas ! Pourtant ma variable $VmDirectory me mets bien le noms de mes 3 VMs sur 3 lignes différentes !
PS : Je crée cet variable car je n'ai pas réussi à exploiter les données de mon fichier csv !
Merci d'avance
Message édité par: Van_De, à: 4/01/11 14:01<br><br>Message édité par: Arnaud, à: 5/01/11 10:06
Donc je vais carrément copier mon code afin d'être plus clair dans mes explications :
[code:1]
##########################Script Sauvegarde###########################
#Création des variables#
$Scriptdirectory = \"c:\Scripts\"
$BackupDest = \" \\bxad02\VMBackup\Test\"
$MailDest = \"xxxx@xxxx\"
$MailSend = \"zzzz@xxxx\"
$ListofVMs = Get-WmiObject -namespace root\virtualization Msvm_ComputerSystem -filter \"Description <> `\"Microsoft Hosting Computer System`\"\"
$Fichierscsv = @()
$VmDirectory = $ListofVMs | % {$_.ElementName}
#Création du fichier csv \"VMlist\"#
$ListofVMs | foreach {
$fichier = New-Object PSObject
$fichier | Add-Member NoteProperty Nom $_.ElementName
$Fichierscsv += $fichier}
$Fichierscsv | Export-Csv D:\Vm\VMlist.csv -UseCulture -NoTypeInformation
#Vérification du lecteur Y
if (Test-Path Y:«») {Start -FilePath $Scriptdirectory\vssbackupstop.cmd -NoNewWindow -Wait}
#Lancement du cmd vssbackup#
Start -FilePath $Scriptdirectory\vssbackup.cmd -NoNewWindow -Wait
#Vérification du lecteur Y#
if (Test-Path Y:«») {}
else {Start -FilePath $Scriptdirectory\vssbackup.cmd -NoNewWindow -Wait}
#Création des dossiers de VM#
md $BackupDest\$VmDirectory
#Lancement du cmd robocopy#
Start -FilePath $Scriptdirectory\robocopy.cmd -NoNewWindow -Wait
#Création, suppresion de Ancienbackup et Dernierbackup#
if (Test-Path $BackupDest\.\AncienBackup)
{
rm $BackupDest\.\AncienBackup -recurse
rni '$BackupDest\.\DernierBackup' '$BackupDest\.\AncienBackup'
rni '$BackupDest\.\Temp' '$BackupDest\.\DernierBackup'
}
else
{
md $BackupDest\.\AncienBackup
cp $BackupDest\.\Temp\* -Destination $BackupDest\.\AncienBackup
rni '$BackupDest\.\Temp' '$BackupDest\.\DernierBackup'
#Lancement du cmd vssbackustop#
Start -FilePath $Scriptdirectory\vssbackupstop.cmd -NoNewWindow -Wait
[/code:1]
Lors de la création des dossiers des VMs, j'ai un problème. Il crée un seul dossier avec pour nom \"VM1 VM2 VM3\" Et non 3 dossiers au nom \"VM1\" \"VM2\" \"VM3\" !!
Je ne comprends pas ! Pourtant ma variable $VmDirectory me mets bien le noms de mes 3 VMs sur 3 lignes différentes !
PS : Je crée cet variable car je n'ai pas réussi à exploiter les données de mon fichier csv !
Merci d'avance
Message édité par: Van_De, à: 4/01/11 14:01<br><br>Message édité par: Arnaud, à: 5/01/11 10:06
Connexion ou Créer un compte pour participer à la conversation.
- jojo
-
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 187
- Remerciements reçus 0
il y a 15 ans 4 mois #8495
par jojo
Réponse de jojo sur le sujet Re:Création de dossier
coucou 
peux être que tu devrais passer par une boucle pour appeler tous les éléments de la collection
[code:1]#Création des dossiers de VM#
$VmDirectory | foreach { md $BackupDest\$_ }[/code:1]
j'espère que ça va t'aider
<br><br>Message édité par: jojo, à: 4/01/11 16:27
peux être que tu devrais passer par une boucle pour appeler tous les éléments de la collection
[code:1]#Création des dossiers de VM#
$VmDirectory | foreach { md $BackupDest\$_ }[/code:1]
j'espère que ça va t'aider
Connexion ou Créer un compte pour participer à la conversation.
- Van_De
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 15 ans 4 mois #8502
par Van_De
Réponse de Van_De sur le sujet Re:Création de dossier
jojo écrit:
Merci beaucoup !! C'est exactement ce qu'il me fallait
coucou
peux être que tu devrais passer par une boucle pour appeler tous les éléments de la collection
[code:1]#Création des dossiers de VM#
$VmDirectory | foreach { md $BackupDest\$_ }[/code:1]
j'espère que ça va t'aider<br><br>Message édité par: jojo, à: 4/01/11 16:27
Merci beaucoup !! C'est exactement ce qu'il me fallait
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.037 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Création de dossiers multiples