Scripting vmware-脚本自动备份

Scripting vmware-脚本自动备份,scripting,automation,backup,vmware,vmware-tools,Scripting,Automation,Backup,Vmware,Vmware Tools,我在WinXP上运行VMWare Workstation 6.5 如何编写脚本以自动克隆VM映像 我读过有关“vmware cmd”工具的内容,但我认为该工具仅适用于vmware ESX,而不适用于工作站。因为vmware映像只是磁盘上的文件,所以您可以使用XCOPY。下次运行VM时,系统会提示您是否移动或复制了VM。确保选择“复制”以确保克隆的VM网卡被分配了不同的硬件MAC地址 XCOPY /S /I WinXP WinXPClone 如果来宾是基于Windows的计算机,请确保在克隆上生

我在WinXP上运行VMWare Workstation 6.5

如何编写脚本以自动克隆VM映像


我读过有关“
vmware cmd
”工具的内容,但我认为该工具仅适用于vmware ESX,而不适用于工作站。

因为vmware映像只是磁盘上的文件,所以您可以使用XCOPY。下次运行VM时,系统会提示您是否移动或复制了VM。确保选择“复制”以确保克隆的VM网卡被分配了不同的硬件MAC地址

XCOPY /S /I WinXP WinXPClone

如果来宾是基于Windows的计算机,请确保在克隆上生成新SID。如果您只是为了个人使用而克隆,那么这是一种痛苦,一种更快、更简单的方法就是使用。

vmrun将完成vmware cmd所做的工作。在ESX、工作站和服务器上都可以找到它。

您可以尝试使用PowerShell脚本

Param( 
    [Parameter(Position=0,Mandatory=$true,HelpMessage="What Environment do you want exported?")]
    [ValidateSet("VCAC","IDENT","IAAS","ORCH","VCENTER","CA","DC","ALL")]
    [String[]]$vmExports)

###connect to server statement -- add later
if ( (Get-PSSnapin -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PSsnapin VMware.VimAutomation.Core
}





if ($vmExports -Contains "ALL" )
{
    $vmExports = ("VCENTER")

}


function exportova ([string[]]$servers) 
{
    foreach($server in $servers)
        {

        $date = Get-Date -format MMddyyyy
        $datastore = ''
        $VMhost = ''
        $newVMName = $server+'_'+$date
        $my_vm = New-VM -Name $newVMName -VM $server -Datastore $datastore -VMHost $VMhost
        Export-VApp -Destination "E:\VMs\" -VM $newVMName -Format Ova
        Remove-VM $newVMName -DeletePermanently -Confirm:$false


        }

}



switch ($vmExports)

{


    "VCENTER"
        {

        $servers= ("")
        exportova $servers

        }       
}

我认为,在vSphere中备份虚拟机时,使用脚本是一种不好的方法。我以前使用过这种方法,但在移动虚拟机时遇到了麻烦,而有些机器有依赖项,或者有人将虚拟磁盘仍连接到克隆的机器上。我认为您最好使用免费的vMware Data Protection,这样做的缺点是您需要推荐的1.5TB可用空间,但好处在于牺牲了存储

它不在ESX 3.5新安装上。