Поделиться через


Copy-SCVirtualHardDisk

Copies a VMware virtual hard disk file (a .vmdk file) to a Windows-based virtual hard disk file (a .vhd file) and converts the virtual hard disk for use in a VMM environment.

Syntax

Default (Default)

Copy-SCVirtualHardDisk
    [-VMMServer <ServerConnection>]
    -VMDKPath <String>
    [-LibraryServer <LibraryServer>]
    [-SourceVMHost <Host>]
    -VMHost <Host>
    -Path <String>
    [-Owner <String>]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [<CommonParameters>]

Description

The Copy-SCVirtualHardDisk cmdlet copies a VMware virtual hard disk file (a .vmdk file) to a Windows-based virtual hard disk file (a .vhd file) and converts the virtual hard disk for use in a Virtual Machine Manager (VMM) environment. The disk's contents are preserved by this copy operation.

VMware virtual hard disks, stored in .vmdk files, contain the virtual machine's guest operating system, applications, and data. VMWare virtual hard disk formats supported by Copy-SCVirtualHardDisk include:

-- monolithicSparse

-- monolithicFlat

-- vmfs

-- twoGbMaxExtentSparse

-- twoGbMaxExtentFlat

The Copy-SCVirtualHardDisk cmdlet takes as its input the .vmdk file that the .vmx file points to:

  • The .vmx file points to a .vmdk file that contains metadata, which in turn points to the binary .vmdk file.

  • The .vmdk file that you specify with the Copy-VMDK cmdlet is the .vmdk file that contains the metadata (not the binary .vmdk file).

Examples

Example 1: Convert a VMware .vmdk file in the VMM library to a Windows-based .vhd file on a host

PS C:\> $LibServ = Get-SCLibraryServer -ComputerName "LibServer01.Contoso.com"
PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMMHost01.Contoso.com"
PS C:\> Copy-SCVirtualHardDisk -LibraryServer $LibServ -VMDKPath "\\LibServer01\MSSCVMMLibrary\VMware\VM01.vmdk" -VMHost $VMHost -Path "C:\StoredWindowsVMs"

The first command gets the library server object named LibServer01 and stores the object in the $LibServ variable.

The second command gets the host object named VMHost01 and stores the object in the $VMHost variable. VMHost01 is a Hyper-V host.

The last command copies and converts the .vmdk file located at the specified path (\LibServer01\MSSCVMMLibrary\VMware\VM01.vmdk) on the library server and stores the resulting .vhd file at the specified path (C:\StoredWindowsVMs) on VMHost01. Note that the Path parameter, when used with Copy-SCVirtualHardDisk, cannot take a UNC path.

Note: Copy-SCVirtualHardDisk takes as its input the .vmdk file that the .vmx file points to:

  • The .vmx file points to a .vmdk file that contains metadata, which in turn points to the binary .vmdk file.

  • The .vmdk file that you specify with Copy-SCVirtualHardDisk is the .vmdk file that contains the metadata (not the binary .vmdk file).

Parameters

-JobVariable

Specifies that job progress is tracked and stored in the variable named by this parameter.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-LibraryServer

Specifies a VMM library server object.

Parameter properties

Type:LibraryServer
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Owner

Specifies the owner of a VMM object in the form of a valid domain user account.

  • Example format: -Owner "Contoso\PattiFuller"
  • Example format: -Owner "PattiFuller@Contoso"

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Path

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\]"

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-PROTipID

Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit PRO tips.

Parameter properties

Type:Guid
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-SourceVMHost

Specifies the source virtual machine host object.

Parameter properties

Type:Host
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-VMDKPath

Specifies the path to a VMware virtual hard disk file (a .vmdk file) to be converted to a Windows-based virtual hard disk file (a .vhd file). The VMDK stands for the Virtual Machine Disk (VMDK) file format.

Example format: -VMDKPath "\\FileServer01\MSSCVMMLibrary\VMDKS\VM01.vmdk"

Example format: -VMDKPath "\[storage1\] /VM01/VM01.vmdk"

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-VMHost

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, see the Add-SCVMHost cmdlet.

Parameter properties

Type:Host
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-VMMServer

Specifies a VMM server object.

Parameter properties

Type:ServerConnection
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Outputs

StandaloneVirtualHardDisk

This cmdlet returns an array of StandaloneVirtualHardDisk objects.