我想使用自动化脚本导出所有VirtualBox VM进行备份。以下命令应在我的PS脚本中进行导出:
cmd.exe -c "vboxmanage export Antergos -o D:\Temp\test.ova"
通过在PowerShell中运行vboxmanage
命令,它以10%的步骤向我显示进度,如下所示:
PS C:\Users\XYZ> vboxmanage export Antergos -o D:\Temp\test.ova
0%...10%...
但是使用上述的cmd
调用我没有得到任何输出。取得一些进展非常棒,因为某些VM很大(〜70GB)。我尝试了其他变体:
iex 'vboxmanage export "$($name)" -o "$targetFile"'
& "vboxmanage export ""$($name)"" -o ""$targetFile"""
Invoke-Command -ScriptBlock { cmd.exe /c "vboxmanage export ""$name"" -o ""$fullTargetFile""" 4>&1 } 4>&1
Invoke-Expression "vboxmanage export ""${name}"" -o ""${fullTargetFile}"" 2>&1"
他们都没有向我展示进度,自从Invoke-Expression "vboxmanage --help"
打印帮助,但上面显示的使用vboxmanage export
时没有任何进展。
答案 0 :(得分:0)
我按照以下方式进行操作,并且显示了所有操作的vboxmanager输出。
$vmanagerBackup = "VBoxManage.exe"
$vmanagerBackup += @(" export ")
$vmanagerBackup += @($vmName)
$vmanagerBackup += @(" --ovf10")
$vmanagerBackup += @($backupFilename)
Write-host "$vmanagerBackup"
Invoke-Expression "$vmanagerBackup"