Copy-SCVirtualHardDisk

将 VMware 虚拟硬盘文件 (.vmdk 文件) 复制到基于 Windows 的虚拟硬盘文件, (.vhd 文件) ,并将虚拟硬盘转换为 VMM 环境中使用。

语法

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

说明

Copy-SCVirtualHardDisk cmdlet 将 VMware 虚拟硬盘文件 (.vmdk 文件) 复制到基于 Windows 的虚拟硬盘文件, (.vhd 文件) ,并转换虚拟硬盘,以便在 Virtual Machine Manager (VMM) 环境中使用。 此复制操作将保留磁盘的内容。

VMware 虚拟硬盘以 .vmdk 文件的形式存储,其中包含虚拟机的来宾操作系统、应用程序及数据。 Copy-SCVirtualHardDisk 支持的 VMWare 虚拟硬盘格式包括:

-- 整体式Sparse

-- 整体式Flat

-- vmfs

-- twoGbMaxExtentSparse

-- twoGbMaxExtentFlat

Copy-SCVirtualHardDisk cmdlet 将其输入作为 .vmx 文件指向的 .vmdk 文件:

  • .vmx 文件指向包含元数据的 .vmdk 文件,该文件又指向二进制 .vmdk 文件。

  • 使用 Copy-VMDK cmdlet 指定的 .vmdk 文件是包含元数据的 .vmdk 文件 (而不是二进制 .vmdk 文件) 。

示例

示例 1:将 VMM 库中的 VMware .vmdk 文件转换为主机上基于 Windows 的 .vhd 文件

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"

第一个命令获取名为 LibServer01 的库服务器对象,并将对象存储在$LibServ变量中。

第二个命令获取名为 VMHost01 的主机对象,并将对象存储在$VMHost变量中。 VMHost01 是 Hyper-V 主机。

最后一个命令复制并转换位于指定路径 (\LibServer01\MSSCVMMLibrary\VMware\VM01.vmdk) 库服务器上的 .vmdk 文件,并将生成的 .vhd 文件存储在 VMHost01 上的指定路径 (C:\StoredWindowsVMs) 。 请注意,当与 Copy-SCVirtualHardDisk 一起使用时,Path 参数不能采用 UNC 路径。

注意: Copy-SCVirtualHardDisk 将其输入作为 .vmx 文件指向的 .vmdk 文件:

  • .vmx 文件指向包含元数据的 .vmdk 文件,该文件又指向二进制 .vmdk 文件。

  • 使用 Copy-SCVirtualHardDisk 指定的 .vmdk 文件是包含元数据的 .vmdk 文件 (而不是二进制 .vmdk 文件) 。

参数

-JobVariable

指定跟踪作业进度,并将其存储在此参数命名的变量中。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LibraryServer

指定一个 VMM 库服务器对象。

Type:LibraryServer
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Owner

以一个有效的域用户帐户形式指定 VMM 对象的所有者。

  • 示例格式: -Owner "Contoso\PattiFuller"
  • 示例格式: -Owner "PattiFuller@Contoso"
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定操作的目标路径。

示例格式:

  • 本地路径: -Path "F:\"
  • UNC 路径: -Path "\\Library\Templates"
  • 卷 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\]"
Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

指示作业以异步方式运行,以便控件立即返回到命令 shell。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceVMHost

指定源虚拟主机对象。

Type:Host
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMDKPath

指定要转换为基于 Windows 的虚拟硬盘文件(.vhd 文件)的 VMware 虚拟硬盘文件(.vmdk 文件)的路径。 VMDK 表示虚拟机磁盘 (VMDK) 文件格式。

示例格式: -VMDKPath "\\FileServer01\MSSCVMMLibrary\VMDKS\VM01.vmdk"

示例格式: -VMDKPath "\[storage1\] /VM01/VM01.vmdk"

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VMHost

指定一个虚拟主机对象。 VMM 支持 Hyper-V 主机、VMware ESX 主机和 Citrix XenServer 主机。

有关每种类型的主机的详细信息,请参阅 Add-SCVMHost cmdlet。

Type:Host
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

输出

StandaloneVirtualHardDisk[]

此 cmdlet 返回 独立VirtualHardDisk 对象的数组。