Share via


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

Add-SCPatch

Add-SCVMHost

Copy-SCStorageVolume

Copy-SCVirtualHardDisk

Get-SCVMNetwork

Get-SCVMXComputerConfiguration

New-SCVMXComputerConfiguration

Remove-SCComputerConfiguration

Get-SCVMHost

Get-SCVirtualMachine

Get-SCLibraryServer