newhk
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору <# Скрипт экспорта виртуальных машин Ver = 1.0 #> $vmlist = Get-VM | where state -eq 'running' $date = (Get-Date -Format 'yyyyMMdd_HHmm') $i = 1 foreach ($item in $vmlist) { "`t$i.`t$($item.Name)" $i++ } [int] $number = Read-Host 'Сделайте выбор и нажмите ENTER' if (($number -gt 0) -and ($number -lt ($i))) # если номер больше 0, и если номер меньше $i { $vmname = @($vmlist)[$number-1].Name } else { "неправильно введён номер" } function exportvm { $vmpath = 'H:\VMs\' + $vmname $begin = { Export-VM $vmname -Path $vmpath $TargetFolder = 'H:\VMs\' $ExportPath = $TargetFolder + $vmname + '\' + $vmname $ArcPath = $TargetFolder + $vmname + '\' + 'Archives\' + $vmname + '_' + $date + '.7z' Start-Process 7z -ArgumentList "a -ssw -mx9 -y $ArcPath $ExportPath" -wait -NoNewWindow } $a = 'H:\VMs\' + $vmname + '\' + $vmname + '\Virtual Machines\*.vmcx' if (Test-Path $a){ $object = gci $a -ErrorAction Continue $b = $object.creationtime $c = $b.ToString('yyyyMMdd-HHmm') $oldpath = $vmpath + '\' + $vmname $newpath = $oldpath + '_' + $c Rename-Item $oldpath -NewName $newpath -Force if (Test-Path $newpath){ & $begin } } else { & $begin } } exportvm | Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 13:46 06-02-2020 | Исправлено: newhk, 14:21 06-02-2020 |
|