New-SCV2V
New-SCV2V
Converts a virtual machine created on a VMware ESX Server host to a virtual machine deployed on a Hyper-V host managed by VMM.
Syntax
Parameter Set: FromVM
New-SCV2V -VM <VM> -VMHost <Host> [-CPUCount <Byte]> ] [-CPURelativeWeight <Int32]> ] [-CPUType <ProcessorType> ] [-DelayStartSeconds <Int32]> ] [-Description <String> ] [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-JobGroup <Guid]> ] [-JobVariable <String> ] [-LogicalNetwork <LogicalNetwork> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-MemoryMB <Int32]> ] [-Name <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-OverridePatchPath <String> ] [-Owner <String> ] [-Path <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-SkipInstallVirtualizationGuestServices] [-SourceNetworkConnectionID <String> ] [-StartAction <VMStartAction]> ] [-StartVM] [-StopAction <VMStopAction]> ] [-Trigger] [-UserRole <UserRole> ] [-VirtualNetwork <VirtualNetwork> ] [-VirtualNetworkAdapter <VirtualNetworkAdapter> ] [-VLanEnabled <Boolean]> ] [-VLanID <UInt16> ] [-VMMServer <ServerConnection> ] [-VMNetwork <VMNetwork> ] [ <CommonParameters>]
Parameter Set: NoParse
New-SCV2V -VMHost <Host> -VMXComputerConfiguration <VmxMachineConfiguration> [-CPUCount <Byte]> ] [-CPURelativeWeight <Int32]> ] [-CPUType <ProcessorType> ] [-DelayStartSeconds <Int32]> ] [-Description <String> ] [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-JobGroup <Guid]> ] [-JobVariable <String> ] [-LibraryServer <LibraryServer> ] [-LogicalNetwork <LogicalNetwork> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-MemoryMB <Int32]> ] [-Name <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-OverridePatchPath <String> ] [-Owner <String> ] [-Path <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-SkipInstallVirtualizationGuestServices] [-SourceNetworkConnectionID <String> ] [-StartAction <VMStartAction]> ] [-StartVM] [-StopAction <VMStopAction]> ] [-Trigger] [-UserRole <UserRole> ] [-VirtualNetwork <VirtualNetwork> ] [-VirtualNetworkAdapter <VirtualNetworkAdapter> ] [-VLanEnabled <Boolean]> ] [-VLanID <UInt16> ] [-VMMServer <ServerConnection> ] [-VMNetwork <VMNetwork> ] [ <CommonParameters>]
Parameter Set: Parse
New-SCV2V -VMHost <Host> -VMXPath <String> [-CPUCount <Byte]> ] [-CPURelativeWeight <Int32]> ] [-CPUType <ProcessorType> ] [-DelayStartSeconds <Int32]> ] [-Description <String> ] [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-JobGroup <Guid]> ] [-JobVariable <String> ] [-LibraryServer <LibraryServer> ] [-LogicalNetwork <LogicalNetwork> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-MemoryMB <Int32]> ] [-Name <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-OverridePatchPath <String> ] [-Owner <String> ] [-Path <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-SkipInstallVirtualizationGuestServices] [-SourceNetworkConnectionID <String> ] [-StartAction <VMStartAction]> ] [-StartVM] [-StopAction <VMStopAction]> ] [-Trigger] [-UserRole <UserRole> ] [-VirtualNetwork <VirtualNetwork> ] [-VirtualNetworkAdapter <VirtualNetworkAdapter> ] [-VLanEnabled <Boolean]> ] [-VLanID <UInt16> ] [-VMMServer <ServerConnection> ] [-VMNetwork <VMNetwork> ] [ <CommonParameters>]
Detailed Description
The New-SCV2V cmdlet converts a virtual machine created on a VMware ESX Server host to a virtual machine deployed on a Hyper-V host managed by Virtual Machine Manager (VMM). You cannot specify a VMware ESX host as the destination host for the new virtual machine.
A V2V conversion requires that the host on which the new virtual machine will be deployed is a Hyper-V host.
The source for a V2V conversion of a VMware virtual machine performed by New-SCV2V is a set of files that you must store in the VMM library before you perform the conversion:
-- A .vmx file, which is a VMware virtual machine configuration file.
A .vmx file is approximately similar in function to the virtual machine configuration file (.vmc file) used for a Windows-based virtual machine.
A .vmx file is a text file that describes the properties and structure of a virtual machine, including name, memory, disk assignments, network parameters, and so on.
-- One or more .vmdk files. A .vmdk file is a VMware virtual hard disk file, which is similar to the virtual hard disk file (.vhd file) used for a Windows-based virtual machine.
The .vmdk files are not passed directly as input to New-SCV2V but are listed in the .vmx file. A .vmdk file contains the virtual machine's guest operating system, applications, and data.
Supported VMware virtual hard disk formats include:
-- monolithicSparse
-- monolithicFlat
-- vmfs
-- twoGbMaxExtentSparse
-- twoGbMaxExtentFlat
During the conversion process, New-SCV2V converts the .vmdk files to .vhd files and makes the operating system on the new virtual machine compatible with Hyper-V. The virtual machine created by New-SCV2V matches VMware virtual machine properties, including name, description, memory, disk-to-bus assignment, and so on, unless these settings are explicitly overridden by specifying different values for these settings. By default, the conversion process does not preserve network adapter settings; however, you can explicitly set adapter settings on the target virtual machine.
New-SCV2V supports the conversion of VMware virtual machines that are running any of the following guest operating systems:
-- Microsoft Windows 2000 Server with Service Pack 4 (SP4) or later
-- Windows Server 2003 SP1 or later
-- Windows Server 2003 R2 or later
-- Windows Server 2008 or later
-- Windows XP SP1 or later
-- Windows Vista
Some conversions of a VMware-based virtual machine whose guest operating system is Windows might require that additional system files and drivers be added to the internal cache. You can use the Add-SCPatch cmdlet to add the required files to the cache. To determine what patches you need to add, run New-SCV2V and let the cmdlet convert the .vmdk file to a .vhd file. If you need patches, this process will put the V2V conversion into a failed state and will produce a list of required patches. Next, use the Add-SCPatch cmdlet to add the patches to the internal cache, and then restart the failed V2V job. The V2V process will continue and will not need to redo the disk conversion.
If you use New-SCV2V to convert a VMware-based virtual machine running any other operating system to a Hyper-V or Virtual Server-based virtual machine, the virtual machine might not start up or might not function correctly. To ensure a successful conversion, you must first modify the guest operating system to one of the listed supported operating systems.
For more information about how VMM can convert VMDK files directly, type Get-Help Copy-VirtualHardDisk
.
For more information about how to add required files to the internal cache, type Get-Help Add-SCPatch
.
Parameters
-CPUCount<Byte]>
Specifies the number of CPUs on a virtual machine, on a hardware profile, or on a template. See the examples for a specific cmdlet to determine how that cmdlet uses this parameter. The number of processors for each type of host is:
-- Hyper-V. Up to four CPUs per virtual machine, depending on guest operating system.
-- VMware ESX. Up to four CPUs per virtual machine for any supported guest operating system, except for a virtual machine that runs Windows NT 4.0, which supports one CPU.
-- Citrix XenServer. Up to eight CPUs per virtual machine, depending on guest operating system.
Aliases |
ProcessorCount |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-CPURelativeWeight<Int32]>
Specifies the amount of CPU resources on a host that this virtual machine can use relative to other virtual machines on the same host. A virtual machine with a higher setting is allocated more CPU resources than a virtual machine with a lower setting. The range of relative values for each type of host are:
Hyper-V: 1 to 10000
VMware ESX: 2000 = High
1500 = Above Normal
1000 = Normal (default)
750 = Below Normal
500 = Low
1 to 1000000 = Custom
The VMware term for these values is shares.
Citrix XenServer: 1 to 65536, normal is 256.
NOTE: See the examples for a specific cmdlet to determine how that cmdlet uses this parameter.
Aliases |
RelativeWeight |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-CPUType<ProcessorType>
Specifies the type of CPU for a virtual machine. To retrieve a list of all CPU types that are available for use in virtual machines in a VMM environment, type Get-SCCPUType
.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-DelayStartSeconds<Int32]>
Specifies the number of seconds to wait after the virtualization service starts before automatically starting a virtual machine. This delay is used to stagger the startup time of multiple virtual machines to help reduce the demand on the physical computer resources. A typical setting might be 30 to 60 seconds. The maximum configurable delay is:
-- Hyper-V: 1000000000 seconds (277777 hours)
-- VMware ESX: 65535 seconds (18 hours)
-- Citrix XenServer: Does not apply to XenServer virtual machines.
Aliases |
DelayStart |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Description<String>
Specifies a description for the specified object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-EnableMACAddressSpoofing<Boolean>
Indicates whether MAC Address spoofing is enabled.
Aliases |
MACAddressesSpoofingEnabled |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-EnableVMNetworkOptimization<Boolean>
Indicates whether virtual machine network optimization is enabled. This feature improves network performance for virtual machines with network adapters that support virtual machine queue (VMQ) or TCP Chimney Offload. VMQ enables creating a unique network queue for each virtual network adapter. TCP Chimney Offload enables network traffic processing to be offloaded from the networking stack.
Aliases |
VMNetworkOptimizationEnabled |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-JobGroup<Guid]>
Specifies an identifier for a series of commands that will run as a set just before the final command that includes the same job group identifier runs.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-JobVariable<String>
Specifies that job progress is tracked and stored in the variable named by this parameter.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-LibraryServer<LibraryServer>
Specifies a VMM library server object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-LogicalNetwork<LogicalNetwork>
Specifies a logical network. A logical network is a named grouping of IP subnets and VLANs that is used to organize and simplify network assignments.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MACAddress<String>
Specifies the Media Access Control (MAC) address, or a set of MAC addresses, for a physical or virtual network adapter on a computer. Valid values are: one or more MAC addresses.
Example format for a single MAC address:
-MACAddress "00-15-5D-B4-DC-00"
Example format for a set of MAC addresses:
-MACAddress "00-15-5D-B4-DC-00", "00-1A-A0-E3-75-29"
Example format for a set of MAC addresses:
$Macs = "00-15-5D-B4-DC-00", "00-1A-A0-E3-75-29"
Set-SCPXEServer –MACAddress $Macs
NOTE: When used with New-SCPXEServer or Set-SCPXEServer, the MACAddress parameter updates the PXE interfaces from which the SCDM PXE Server listens for and responds to PXE requests.
Aliases |
EthernetAddress,PhysicalAddress |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MACAddressType<String>
Specifies the type of MAC address to use for a virtual network adapter. Valid values are: Static, Dynamic.
Aliases |
EthernetAddressType,PhysicalAddressType |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MemoryMB<Int32]>
Specifies, in megabytes (MB), the amount of random access memory (RAM) on the host that is allocated to a virtual machine. The default value is 512 MB. For a virtual machine on which dynamic memory is enabled on a host running Windows Server 2008 R2 SP1 or later, use MemoryMB to specify the startup memory value. The maximum host memory assignable to a virtual machine is:
-- Hyper-V: Up to 65536 MB RAM per virtual machine.
-- VMware ESX Server 3.0.x: Up to 16384 MB RAM per virtual machine.
-- VMware ESX Server 3.5.x: Up to 65532 MB RAM per virtual machine.
-- Citrix XenServer: Up to 32265 MB RAM per virtual machine.
Example format: -MemoryMB 1024
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Name<String>
Specifies the name of a VMM object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-NetworkLocation<String>
Specifies the network location for a physical network adapter or for a virtual network adapter, or changes the default network location of a host physical network adapter.
Example formats:
-NetworkLocation $NetLoc ($NetLoc might contain "Corp.Contoso.com")
-OverrideNetworkLocation $True -NetworkLocation "HostNICNewLocation.Contoso.com"
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-NetworkTag<String>
Specifies a word or phrase to associate with a virtual network adapter that is configured to connect to a specific internal or external network on the host. The NetworkTag identifies all virtual machines with the same NetworkTag as members of the same network. VMM uses a NeworkTag (if one exists) when it evaluates hosts as possible candidates on which to deploy a virtual machine. If the host does not include virtual machines on the network with the same NetworkTag as the virtual machine to be placed, the host receives zero stars in the placement process.
Aliases |
Tag |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-NoConnection
Indicates that this cmdlet disconnects a virtual network adapter from a virtual network.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-OverridePatchPath<String>
For internal use only (not for use in your code).
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Owner<String>
Specifies the owner of a VMM object in the form of a valid domain user account.
Example format: -Owner "Contoso\ReneeLo"
Example format: -Owner "ReneeLo@Contoso"
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Path<String>
Specifies the destination path for the operation.
Example formats:
Local: -Path "F:\"
UNC: -Path "\\Library\Templates"
Volume GUID: -Path "\\?\Volume{4703c1ea-8ae7-11db-b473-00123f7603e3}\"
VMware ESX: -Path "[storage1]\MyVMwareFolderForVMs\MyVM.vmx"
Citrix XenServer: -Path "Local storage[99b6212f-b63d-c676-25f9-d6c460992de7]"
Wildcards are supported for Get- cmdlets and when you specify the UNC path.
Example format:
UNC: -Path "\\VMHostServer\MyVMs\*VM*"
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-PROTipID<Guid]>
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-RunAsynchronously
Indicates that the job runs asynchronously so that control returns to the command shell immediately.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-SkipInstallVirtualizationGuestServices
Indicates that this cmdlet skips the installation of virtualization guest services on a virtual machine. By default, this parameter is set to $False and VMM installs the appropriate virtualization guest service automatically. For a virtual machine on a Hyper-V host, the virtualization guest service is called Integration Components (VMGuest.iso). For a virtual machine on a XenServer host, the virtualization guest service is called Citrix Tools for Virtual Machines (xs-tools.iso). Virtual machines on a VMware ESX host do not use a virtualization guest service.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-SourceNetworkConnectionID<String>
Specifies the MAC address or network name of the physical network adapter to be converted into a virtual network adapter in the virtual machine.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-StartAction<VMStartAction]>
Specifies the behavior of a virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) starts. Valid values are:
-- AlwaysAutoTurnOnVM
-- NeverAutoTurnOnVM
-- TurnOnVMIfRunningWhenVSStopped
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-StartVM
Specifies that the virtual machine starts when it arrives at the destination host.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-StopAction<VMStopAction]>
Specifies the behavior of the virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) stops. Valid values are:
-- SaveVM
-- TurnOffVM
-- ShutdownGuestOS
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Trigger
Indicates that this cmdlet starts running the commands in a job group for a physical-to-virtual (P2V) conversion, a virtual-to-virtual (V2V) conversion, or the conversion of a physical hard disk to a virtual hard disk.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-UserRole<UserRole>
Specifies a user role object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VirtualNetwork<VirtualNetwork>
Specifies a virtual network object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VirtualNetworkAdapter<VirtualNetworkAdapter>
Specifies a virtual network adapter object for a virtual machine. The number of virtual adapters for each type of host are:
-- Hyper-V: Up to four emulated adapters per virtual machine, and up to eight synthetic adapters per virtual machine. No driver is available for an emulated network adapter on a Windows Server 2003 x64 guest.
-- VMware ESX: Up to four emulated adapters per virtual machine.
-- Citrix XenServer: Up to seven emulated adapters per virtual machine.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VLanEnabled<Boolean]>
Indicates whether the cmdlet enables a virtual LAN (VLAN) for use by virtual machines on a Hyper-V or Citrix XenServer host.
Example format for a single VLAN: -VLanEnabled $True -VLanMode "Access" -VLanID 35
Example format for multiple VLANs: -VLanEnabled $True -VLanMode "Trunk" -VLanTrunkID 1,2,100,200,1124
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VLanID<UInt16>
Assigns a numerical identifier in the range 1-4094 to a virtual network adapter on a virtual machine or to a physical network adapter on a virtual machine host.
Configure a VLanID on a Hyper-V, VMware ESX, or Citrix XenServer host:
-- On an externally bound physical network adapter when the VLan mode is Access.
Configure a VLanID on a virtual network adapter of a virtual machine:
-- Bound to a physical network adapter on the host, or
-- Bound to an internal virtual network on the host.
Example format: -VLanEnabled $True -VLanMode "Access" -VLanID 35
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VM<VM>
Specifies a virtual machine object.
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-VMHost<Host>
Specifies a virtual machine host object. VMM supports Hyper-V hosts, VMware ESX hosts, and Citrix XenServer hosts.
For more information about each type of host, type Get-Help Add-SCVMHost -detailed
. See the examples for a specific cmdlet to determine how that cmdlet uses this parameter.
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-VMMServer<ServerConnection>
Specifies a VMM server object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-VMNetwork<VMNetwork>
Specifies a VM network object.
To get a VM network object, use the Get-SCVMNetwork cmdlet.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VMXComputerConfiguration<VmxMachineConfiguration>
Specifies a VMX computer configuration object.
Aliases |
MachineConfig,VMXMachineConfig |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-VMXPath<String>
Specifies the full UNC path to the .vmx file of a VMware virtual machine.
Example format: -VMXPath "\\ServerName\VolumeName\DirectoryName\VMwareVM.vmx"
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).
Inputs
The input type is the type of the objects that you can pipe to the cmdlet.
Outputs
The output type is the type of the objects that the cmdlet emits.
- VirtualMachine
Notes
- This cmdlet requires a VMM VMX computer configuration object, which can be retrieved by using the Get-SCVMXComputerConfiguration cmdlet.
Examples
Example 1: Convert a VMware-based virtual machine deployed on an ESX host to a virtual machine deployed on a Hyper-V host
The first command gets the host object named ESXHost01, and then stores the object in the $ESXHost variable.
The second command gets the host object named HyperVHost01 in the Contoso.com domain, and then stores the object in the $VMHost variable.
The third command gets the virtual machine object SourceVM on ESXHost01, and then stores the object in the $VM variable.
In the last command, New-SCV2V performs the following operations:
-- Creates a Windows-based virtual machine named DestinationVM from the source VMware virtual machine named SourceVM. The command deploys the new virtual machine, now named DestinationVM, onto HyperVHost01, storing the virtual machine files in the folder C:\VMs on HyperVHost01.
-- Assigns 512 MB of memory on HyperVHost01 for use by the new virtual machine.
-- Uses the RunAsynchronously parameter to return control to the command shell immediately, before the command completes.
All of the virtual disks on the source virtual machine will be converted and attached to the new virtual machine.
PS C:\> $ESXHost = Get-SCVMHost -ComputerName "ESXHost01"
PS C:\> $VMHost = Get-SCVMHost -ComputerName "HyperVHost01.Contoso.com"
PS C:\> $VM = Get-SCVirtualMachine -VMHost $ESXHost -Name "SourceVM"
PS C:\> New-SCV2V -VM $VM -VMHost $VMHost -Name "DestinationVM" -Path "C:\VMs" -MemoryMB 512 -RunAsynchronously
Example 2: Convert a VMware-based virtual machine stored in the VMM library to a virtual machine deployed on a Hyper-V host
The first command gets the library server object named LibServer02, and then stores the object in the $LibServ variable.
The second command gets the host object named VirtualServerHost02, and then stores the object in the $VMHost variable.
In the last command, New-SCV2V performs the following operations:
-- Creates a Windows-based virtual machine named VM02 from the source VMware file stored at the specified path on FileServer02, and then deploys the new virtual machine onto VirtualServerHost02. The command stores the virtual machine files in the folder C:\VMs on VirtualServerHost02.
-- Assigns 512 MB of memory on VirtualServerHost02 for use by the new virtual machine.
-- Uses the RunAsynchronously parameter to return control to the command shell immediately, before the command completes.
PS C:\> $LibServ = Get-SCLibraryServer -ComputerName "LibServer02.Contoso.com"
PS C:\> $VMHost = Get-SCVMHost -ComputerName "VirtualServerHost02.Contoso.com"
PS C:\> New-SCV2V -LibraryServer $LibServ -VMXPath "\\LibServer02\MSSCVMMLibrary\VMware\VMSource.vmx" -VMHost $VMHost -Name "VM02" -Path "C:\VMs" -MemoryMB 512 -RunAsynchronously
Related topics
Add-SCPatch
Copy-SCStorageVolume
Get-SCVMXComputerConfiguration
New-SCVMXComputerConfiguration
Remove-SCComputerConfiguration