在没有网络适配器的情况下克隆 VM
Cloning VM without network adapter
我正在使用名为 VMware.Vim.dll
的 .NET VMware
程序集来管理我的虚拟机。我面临的问题是:当我克隆没有网络适配器的现有虚拟机时,生成的虚拟机有一个新的网络适配器。
这是我使用的代码:
var machineName = "testVmName";
var vmNameFilter = new NameValueCollection();
filter.Add("Name", machineName);
var vm = (VirtualMachine)this._vimClient.FindEntityView(typeof(VirtualMachine), null, vmNameFilter, null);
var dcNameFilter = new NameValueCollection();
dcNameFilter.Add("Name", _dataCenterName);
var dataCenter = (Datacenter)this._vimClient.FindEntityView(typeof(Datacenter), null, dcNameFilter, null);
var vmCloneSpec = new VirtualMachineCloneSpec
{
Location = new VirtualMachineRelocateSpec
{
},
PowerOn = false,
Template = false
};
vm.CloneVM(dataCenter.VmFolder, newVmName, vmCloneSpec)
如何强制 API 不创建新的网络适配器?
免责声明:我不是这方面的专家,但在我看来这就是你想要做的。
通过查看 VirtualMachineCloneSpec 的文档,似乎有一个名为 config
的 属性。这个 属性 然后有一个叫做 netowrkShaper
,它又有一个叫做 enabled
。我的猜测是尝试执行以下操作:
vmCloneSpec.config.netowrkShaper.enabled = false;
或更有可能看到它们是自定义对象:
vmCloneSpec.config = new VirtualMachineConfigSpec()
{
networkShaper = new VirtualMachineNetworkShaperInfo()
{
enabled = false;
}
}
据我从文档中得知,这可能就是您要查找的内容。
我正在使用名为 VMware.Vim.dll
的 .NET VMware
程序集来管理我的虚拟机。我面临的问题是:当我克隆没有网络适配器的现有虚拟机时,生成的虚拟机有一个新的网络适配器。
这是我使用的代码:
var machineName = "testVmName";
var vmNameFilter = new NameValueCollection();
filter.Add("Name", machineName);
var vm = (VirtualMachine)this._vimClient.FindEntityView(typeof(VirtualMachine), null, vmNameFilter, null);
var dcNameFilter = new NameValueCollection();
dcNameFilter.Add("Name", _dataCenterName);
var dataCenter = (Datacenter)this._vimClient.FindEntityView(typeof(Datacenter), null, dcNameFilter, null);
var vmCloneSpec = new VirtualMachineCloneSpec
{
Location = new VirtualMachineRelocateSpec
{
},
PowerOn = false,
Template = false
};
vm.CloneVM(dataCenter.VmFolder, newVmName, vmCloneSpec)
如何强制 API 不创建新的网络适配器?
免责声明:我不是这方面的专家,但在我看来这就是你想要做的。
通过查看 VirtualMachineCloneSpec 的文档,似乎有一个名为 config
的 属性。这个 属性 然后有一个叫做 netowrkShaper
,它又有一个叫做 enabled
。我的猜测是尝试执行以下操作:
vmCloneSpec.config.netowrkShaper.enabled = false;
或更有可能看到它们是自定义对象:
vmCloneSpec.config = new VirtualMachineConfigSpec()
{
networkShaper = new VirtualMachineNetworkShaperInfo()
{
enabled = false;
}
}
据我从文档中得知,这可能就是您要查找的内容。