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 对象的数组。