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) 环境中使用。 此复制操作会保留磁盘的内容。

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

-- monolithicSparse

-- 整体式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:\StoredWindowsVM)。 请注意,Path 参数与 Copy-SCVirtualHardDisk一起使用时,不能采用 UNC 路径。

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

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

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

参数

-JobVariable

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LibraryServer

指定 VMM 库服务器对象。

类型:LibraryServer
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Owner

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

  • 示例格式:-Owner "Contoso\PattiFuller"
  • 示例格式:-Owner "PattiFuller@Contoso"
类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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\]"
类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-PROTipID

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

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsynchronously

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceVMHost

指定源虚拟机主机对象。

类型:Host
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMDKPath

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

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

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

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-VMHost

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

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

类型:Host
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-VMMServer

指定 VMM 服务器对象。

类型:ServerConnection
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

输出

StandaloneVirtualHardDisk[]

此 cmdlet 返回 StandaloneVirtualHardDisk 对象的数组。