|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour à tous,
Le script ci-dessous me permet de faire des backups de mes 3 machines virtuelles sur HYPER-V. Mon problème – je voudrais ajouter à ce script la compression des fichiers backupés car ils occupent beaucoup d’espace. Et je ne sais pas le faire. J’ai le soft 7z (outil de compression de fichiers) d’installer sur mon serveur. Connaissiez vous un moyen qui me permettrais de compresser ces fichiers SVP. Je vous remercie d’avance de votre aide. $dest = "D:\BackupVM" $VM_Service = get-wmiobject -namespace root\virtualization Msvm_VirtualSystemManagementService $ListofVMs = get-wmiobject -namespace root\virtualization Msvm_ComputerSystem -filter "ElementName <> Name" foreach ($VM in [array] $ListOfVMs) { $VMReturnState = $VM.EnabledState $VMName = $VM.ElementName if (($VM.EnabledState -eq 2) -or ($VM.EnabledState -eq 32768) -or ($VM.EnabledState -eq 32770)) { $VM.RequestStateChange(32769) echo "Saving the state of $VMName" } while (!($VM.EnabledState -eq 32769) -and !($VM.EnabledState -eq 3)) { Start-Sleep(1) $VM = get-wmiobject -namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$VMName'" } if ([IO.Directory]::Exists("$dest\TmpDir\$VMName")) { [IO.Directory]: elete("$dest\TmpDir\$VMName", $True)} echo "Exporting the VM" $status = $VM_Service.ExportVirtualSystem($VM.__PATH, $True, "$dest\TmpDir") if ($status.ReturnValue -eq 4096) { $job = [Wmi]$status.Job while (!($job.PercentComplete -eq 100) -and ($job.ErrorCode -eq 0)) { Start-Sleep(5) $job = [Wmi]$status.Job echo $job.PercentComplete } } ## Store the files on in a temp directory before moving them to their location and ## then remove the old files. if ([IO.Directory]::Exists("$dest\$VMName")) { [IO.Directory]::Move("$dest\$VMName", "$dest\$VMName-OldTmpDir") [IO.Directory]::Move("$dest\TmpDir\$VMName", "$dest\$VMName") [IO.Directory]: elete("$dest\$VMName-OldTmpDir", $True)} else { [IO.Directory]::Move("$dest\TmpDir\$VMName", "$dest\$VMName") } echo "Done with $VMName" $VM.RequestStateChange($VMReturnState) ## Compression des fichiers } -- Christophere |
|
![]() |
| Outils de la discussion | |
|
|