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.

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

VM

Required? true
Accept Pipeline Input? true (ByValue)
Position? named
Specifies a virtual machine object.

VMHost

Required? true
Accept Pipeline Input? true (ByValue)
Position? named
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.

CPUCount

Required? false
Accept Pipeline Input? false
Position? named
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

CPURelativeWeight

Required? false
Accept Pipeline Input? false
Position? named
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.

CPUType

Required? false
Accept Pipeline Input? false
Position? named
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"

DelayStartSeconds

Required? false
Accept Pipeline Input? false
Position? named
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

Description

Required? false
Accept Pipeline Input? false
Position? named
States a description for the specified object.

EnableMACAddressSpoofing

Required? false
Accept Pipeline Input? false
Position? named
Enables, when set to $True, MAC Address spoofing.

EnableVMNetworkOptimization

Required? false
Accept Pipeline Input? false
Position? named
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.

JobGroup

Required? false
Accept Pipeline Input? false
Position? named
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. 

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

LogicalNetwork

Required? false
Accept Pipeline Input? false
Position? named
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.

MACAddress

Required? false
Accept Pipeline Input? false
Position? named
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

MACAddressType

Required? false
Accept Pipeline Input? false
Position? named
Specifies the type of MAC address to use for a virtual network adapter. Valid values are: Static, Dynamic.

MemoryMB

Required? false
Accept Pipeline Input? false
Position? named
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 HOSTMAXIMUM 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

Name

Required? false
Accept Pipeline Input? false
Position? named
Specifies the name of a VMM object.

NetworkLocation

Required? false
Accept Pipeline Input? false
Position? named
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"

NetworkTag

Required? false
Accept Pipeline Input? false
Position? named
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.

NoConnection

Required? false
Accept Pipeline Input? false
Position? named
Disconnects a virtual network adapter from a virtual network.

OverridePatchPath

Required? false
Accept Pipeline Input? false
Position? named
For internal use only (not for use in your code).

Owner

Required? false
Accept Pipeline Input? false
Position? named
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"

Path

Required? false
Accept Pipeline Input? false
Position? named
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*"

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

SkipInstallVirtualizationGuestServices

Required? false
Accept Pipeline Input? false
Position? named
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. 

SourceNetworkConnectionID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the MAC address or network name of the physical network adapter to be converted into a virtual network adapter in the virtual machine.

StartAction

Required? false
Accept Pipeline Input? false
Position? named
Specifies the behavior of a virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) starts. Valid values are: AlwaysAutoTurnOnVM, NeverAutoTurnOnVM, TurnOnVMIfRunningWhenVSStopped.

StartVM

Required? false
Accept Pipeline Input? false
Position? named
Specifies that the virtual machine starts when it arrives at the destination host.

StopAction

Required? false
Accept Pipeline Input? false
Position? named
Specifies the behavior of the virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) stops. Valid values are: SaveVM, TurnOffVM, ShutdownGuestOS.

Trigger

Required? false
Accept Pipeline Input? false
Position? named
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.

UserRole

Required? false
Accept Pipeline Input? false
Position? named
Specifies a user role object.

VirtualNetwork

Required? false
Accept Pipeline Input? false
Position? named
Specifies a virtual network object.

VirtualNetworkAdapter

Required? false
Accept Pipeline Input? false
Position? named
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.

VLanEnabled

Required? false
Accept Pipeline Input? false
Position? named
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

VLanID

Required? false
Accept Pipeline Input? false
Position? named
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

VMMServer

Required? false
Accept Pipeline Input? true (ByValue)
Position? named
Specifies a VMM server object.

VMHost

Required? true
Accept Pipeline Input? true (ByValue)
Position? named
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.

VMXComputerConfiguration

Required? true
Accept Pipeline Input? true (ByValue)
Position? named
Specifies a VMX computer configuration object.

CPUCount

Required? false
Accept Pipeline Input? false
Position? named
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

CPURelativeWeight

Required? false
Accept Pipeline Input? false
Position? named
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.

CPUType

Required? false
Accept Pipeline Input? false
Position? named
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"

DelayStartSeconds

Required? false
Accept Pipeline Input? false
Position? named
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

Description

Required? false
Accept Pipeline Input? false
Position? named
States a description for the specified object.

EnableMACAddressSpoofing

Required? false
Accept Pipeline Input? false
Position? named
Enables, when set to $True, MAC Address spoofing.

EnableVMNetworkOptimization

Required? false
Accept Pipeline Input? false
Position? named
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.

JobGroup

Required? false
Accept Pipeline Input? false
Position? named
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. 

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

LibraryServer

Required? false
Accept Pipeline Input? false
Position? named
Specifies a VMM library server object.

LogicalNetwork

Required? false
Accept Pipeline Input? false
Position? named
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.

MACAddress

Required? false
Accept Pipeline Input? false
Position? named
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

MACAddressType

Required? false
Accept Pipeline Input? false
Position? named
Specifies the type of MAC address to use for a virtual network adapter. Valid values are: Static, Dynamic.

MemoryMB

Required? false
Accept Pipeline Input? false
Position? named
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 HOSTMAXIMUM 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

Name

Required? false
Accept Pipeline Input? false
Position? named
Specifies the name of a VMM object.

NetworkLocation

Required? false
Accept Pipeline Input? false
Position? named
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"

NetworkTag

Required? false
Accept Pipeline Input? false
Position? named
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.

NoConnection

Required? false
Accept Pipeline Input? false
Position? named
Disconnects a virtual network adapter from a virtual network.

OverridePatchPath

Required? false
Accept Pipeline Input? false
Position? named
For internal use only (not for use in your code).

Owner

Required? false
Accept Pipeline Input? false
Position? named
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"

Path

Required? false
Accept Pipeline Input? false
Position? named
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*"

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

SkipInstallVirtualizationGuestServices

Required? false
Accept Pipeline Input? false
Position? named
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. 

SourceNetworkConnectionID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the MAC address or network name of the physical network adapter to be converted into a virtual network adapter in the virtual machine.

StartAction

Required? false
Accept Pipeline Input? false
Position? named
Specifies the behavior of a virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) starts. Valid values are: AlwaysAutoTurnOnVM, NeverAutoTurnOnVM, TurnOnVMIfRunningWhenVSStopped.

StartVM

Required? false
Accept Pipeline Input? false
Position? named
Specifies that the virtual machine starts when it arrives at the destination host.

StopAction

Required? false
Accept Pipeline Input? false
Position? named
Specifies the behavior of the virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) stops. Valid values are: SaveVM, TurnOffVM, ShutdownGuestOS.

Trigger

Required? false
Accept Pipeline Input? false
Position? named
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.

UserRole

Required? false
Accept Pipeline Input? false
Position? named
Specifies a user role object.

VirtualNetwork

Required? false
Accept Pipeline Input? false
Position? named
Specifies a virtual network object.

VirtualNetworkAdapter

Required? false
Accept Pipeline Input? false
Position? named
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.

VLanEnabled

Required? false
Accept Pipeline Input? false
Position? named
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

VLanID

Required? false
Accept Pipeline Input? false
Position? named
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

VMMServer

Required? false
Accept Pipeline Input? true (ByValue)
Position? named
Specifies a VMM server object.

VMHost

Required? true
Accept Pipeline Input? true (ByValue)
Position? named
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.

VMXPath

Required? true
Accept Pipeline Input? false
Position? named
Specifies the full UNC path to the .vmx file of a VMware virtual machine.

Example format:  \\ServerName\VolumeName\DirectoryName\VMwareVM.vmx

CPUCount

Required? false
Accept Pipeline Input? false
Position? named
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

CPURelativeWeight

Required? false
Accept Pipeline Input? false
Position? named
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.

CPUType

Required? false
Accept Pipeline Input? false
Position? named
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"

DelayStartSeconds

Required? false
Accept Pipeline Input? false
Position? named
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

Description

Required? false
Accept Pipeline Input? false
Position? named
States a description for the specified object.

EnableMACAddressSpoofing

Required? false
Accept Pipeline Input? false
Position? named
Enables, when set to $True, MAC Address spoofing.

EnableVMNetworkOptimization

Required? false
Accept Pipeline Input? false
Position? named
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.

JobGroup

Required? false
Accept Pipeline Input? false
Position? named
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. 

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

LibraryServer

Required? false
Accept Pipeline Input? false
Position? named
Specifies a VMM library server object.

LogicalNetwork

Required? false
Accept Pipeline Input? false
Position? named
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.

MACAddress

Required? false
Accept Pipeline Input? false
Position? named
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

MACAddressType

Required? false
Accept Pipeline Input? false
Position? named
Specifies the type of MAC address to use for a virtual network adapter. Valid values are: Static, Dynamic.

MemoryMB

Required? false
Accept Pipeline Input? false
Position? named
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 HOSTMAXIMUM 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

Name

Required? false
Accept Pipeline Input? false
Position? named
Specifies the name of a VMM object.

NetworkLocation

Required? false
Accept Pipeline Input? false
Position? named
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"

NetworkTag

Required? false
Accept Pipeline Input? false
Position? named
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.

NoConnection

Required? false
Accept Pipeline Input? false
Position? named
Disconnects a virtual network adapter from a virtual network.

OverridePatchPath

Required? false
Accept Pipeline Input? false
Position? named
For internal use only (not for use in your code).

Owner

Required? false
Accept Pipeline Input? false
Position? named
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"

Path

Required? false
Accept Pipeline Input? false
Position? named
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*"

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

SkipInstallVirtualizationGuestServices

Required? false
Accept Pipeline Input? false
Position? named
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. 

SourceNetworkConnectionID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the MAC address or network name of the physical network adapter to be converted into a virtual network adapter in the virtual machine.

StartAction

Required? false
Accept Pipeline Input? false
Position? named
Specifies the behavior of a virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) starts. Valid values are: AlwaysAutoTurnOnVM, NeverAutoTurnOnVM, TurnOnVMIfRunningWhenVSStopped.

StartVM

Required? false
Accept Pipeline Input? false
Position? named
Specifies that the virtual machine starts when it arrives at the destination host.

StopAction

Required? false
Accept Pipeline Input? false
Position? named
Specifies the behavior of the virtual machine when the virtualization service (Hyper-V, VMware, or XenServer) stops. Valid values are: SaveVM, TurnOffVM, ShutdownGuestOS.

Trigger

Required? false
Accept Pipeline Input? false
Position? named
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.

UserRole

Required? false
Accept Pipeline Input? false
Position? named
Specifies a user role object.

VirtualNetwork

Required? false
Accept Pipeline Input? false
Position? named
Specifies a virtual network object.

VirtualNetworkAdapter

Required? false
Accept Pipeline Input? false
Position? named
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.

VLanEnabled

Required? false
Accept Pipeline Input? false
Position? named
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

VLanID

Required? false
Accept Pipeline Input? false
Position? named
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

VMMServer

Required? false
Accept Pipeline Input? true (ByValue)
Position? named
Specifies a VMM server object.
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.
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
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.
2: Convert a VMware-based virtual machine stored in the VMM library to a virtual machine deployed on a Hyper-V host.
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
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. 

See Also