2

我在 WinXP 上运行VMWare Workstation 6.5 。

如何编写脚本来自动克隆我的 VM 映像?

我已经阅读了有关“ vmware-cmd”工具的信息,但相信它仅适用于 VMWare ESX,不适用于 Workstation。

4

4 回答 4

3

由于 VMWare 映像只是磁盘上的文件,因此您可以只使用 XCOPY。下次运行 VM 时,系统会提示您询问您是移动还是复制了 VM。确保选择复制以确保为克隆的 VM 网卡分配不同的硬件 MAC 地址。

XCOPY /S /I WinXP WinXPClone

如果您的客人是基于 Windows 的机器,请确保您在克隆上生成新的 SID。如果您只是为了个人用途进行克隆, Sysprep会很痛苦,一个更快更简单的方法是使用NewSID

于 2009-05-24T23:33:29.693 回答
0

vmrun 将做 vmware-cmd 所做的事情。它存在于 ESX、Workstation 和 Server 中。

于 2009-06-04T23:52:40.733 回答
0

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

于 2017-08-12T16:54:13.437 回答
0

您可以尝试 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

        }       
}
于 2016-06-23T10:42:23.327 回答