New-SCV2V

Applies To: System Center 2012 - Virtual Machine Manager

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> ] [ <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> ] [ <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> ] [ <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 System Center Virtual Machine Manager (VMM). You cannot specify a VMware ESX host as the destination host for the new virtual machine.

VMM V2V CONVERSION REQUIREMENTS

------------------------------------

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

VMM V2V CONVERSION PROCESS

-------------------------------

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.

VMM V2V CONVERSION OF THE GUEST OPERATING SYSTEM

--------------------------------------------------------

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".

- About how to add required files to the internal cache, type: "Get-Help Add-SCPatch".

- About New-SCV2V, type: "Get-Help New-SCV2V -online".

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.

TYPE OF HOST NUMBER OF PROCESSORS

------------ --------------------

Hyper-V Up to 4 CPUs per VM; varies by guest OS

VMware ESX Up to 4 CPUs per VM for any supported guest OS

Exception: 1 CPU on a VM running Windows NT 4.0

Citrix XenServer Up to 8 CPUs per VM; varies by guest OS

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByValue)

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.

TYPE OF HOST RANGE OF RELATIVE VALUES

------------ ------------------------

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

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByValue)

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?

true (ByValue)

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"s resources. A typical setting might be 30 to 60 seconds.

TYPE OF HOST MAXIMUM CONFIGURABLE DELAY

------------ --------------------------------

Hyper-V 1000000000 seconds (277777 hours)

VMware ESX 65535 seconds (18 hours)

Citrix XenServer Does not apply to XenServer virtual machines

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Description<String>

States 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>

Enables, when set to $True, MAC Address spoofing.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableVMNetworkOptimization<Boolean>

Enables, when set to $True, virtual machine network optimization. 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

none

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

none

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

none

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.

TYPE OF HOST MAXIMUM HOST MEMORY ASSIGNABLE TO VM

------------ ------------------------------------

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 VM

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's 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

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NoConnection

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 -Path "F:\"

UNC path -Path "\\Library\Templates"

Volume GUID path -Path "\\?\Volume{4703c1ea-8ae7-11db-b473-00123f7603e3}\"

VMware ESX path "Path "[storage1]\MyVMwareFolderForVMs\MyVM.vmx"

Citrix XenServer path - 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 -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

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

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.

TYPE OF HOST NUMBER OF VIRTUAL NETWORK ADAPTERS

------------ ----------------------------------

Hyper-V Up to 4 emulated adapters per virtual machine.

Up to 8 synthetic adapters per virtual machine.

(Exception: no driver available for an emulated

network adapter on a Windows Server 2003 x64 guest.)

VMware ESX Up to 4 emulated adapters per virtual machine.

Citrix XenServer Up to 7 emulated adapters per virtual machine.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanEnabled<Boolean>

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 -VLANMode "Access" -VLANID 35

Example format for multiple VLANs: -VLANEnabled -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

-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

-VMXComputerConfiguration<VmxMachineConfiguration>

Specifies a VMX computer configuration object.

Aliases

none

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: \\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.

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

  • Requires a VMM VMX comuter configuration object, which can be retrieved by using the Get-SCVMXComputerConfiguration cmdlet.

Examples

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 stores the object in the $ESXHost variable.

The second command gets the host object named HyperVHost01 in the Contoso.com domain and stores the object in the $VMHost variable.

The third command gets the virtual machine object SourceVM on ESXHost01 and 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

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 stores the object in the $LibServ variable.

The second command gets the host object named VirtualServerHost02 and 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 (VMSource.vmx) stored at the specified path on FileServer02, and then deploys the new virtual machine (VM02) 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

Add-SCPatch

Copy-SCStorageVolume

Copy-SCVirtualHardDisk

New-SCVMXComputerConfiguration

Remove-SCComputerConfiguration