Compress-SCVirtualDiskDrive

压缩动态扩展虚拟硬。

语法

Compress-SCVirtualDiskDrive
        [-VirtualDiskDrive] <VirtualDiskDrive>
        [-JobGroup <Guid>]
        [-RunAsynchronously]
        [-PROTipID <Guid>]
        [-JobVariable <String>]
        [-OnBehalfOfUser <String>]
        [-OnBehalfOfUserRole <UserRole>]
        [<CommonParameters>]

说明

Compress-SCVirtualDiskDrive cmdlet 压缩附加到虚拟磁盘驱动器对象的动态扩展虚拟硬盘,以减少虚拟硬盘的大小。 必须先停止虚拟机,然后才能压缩虚拟硬盘。

此 cmdlet 压缩附加到 Hyper-V 主机上的虚拟机上附加到虚拟磁盘驱动器对象的基于 Windows 的虚拟硬盘文件。 虚拟硬盘是 .vhd 或 .vhdx 文件。

部署在 ESX Server 3.0 或 3.5 主机上的虚拟机上的基于 VMware 的.vmdk 文件不是动态的。 无法压缩固定的虚拟硬盘。

部署在 XenServer 主机上的虚拟机上基于 Citrix XenServer 的.vhd 文件不是动态的。 无法压缩固定磁盘。

示例

示例 1:压缩在主机上部署的虚拟机上的虚拟硬盘

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM01")
PS C:\> Compress-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive

第一个命令获取附加到 VM01 的虚拟磁盘驱动器对象,然后将该对象存储在$VDD变量中。 此示例假定虚拟机只有一个虚拟磁盘驱动器,并且附加到虚拟磁盘驱动器的虚拟硬盘是动态虚拟硬盘。

第二个命令压缩 VM01 上附加到虚拟磁盘驱动器的动态扩展虚拟硬盘。

参数

-JobGroup

指定在包含相同作业组标识符的最终命令之前作为集运行的一系列命令的标识符。

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

-JobVariable

指定跟踪和存储作业进度的变量。

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

-OnBehalfOfUser

指定用户名。 此 cmdlet 代表此参数指定的用户操作。

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

-OnBehalfOfUserRole

指定用户角色。 指定此参数和 OnBehalfOfUser 参数,以从属于代表用户的用户角色中删除权限。 若要获取用户角色对象,请使用 Get-SCUserRole cmdlet。

Type:UserRole
Position:Named
Default value:None
Required:False
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

-VirtualDiskDrive

指定虚拟磁盘驱动器对象。 可以将虚拟硬盘或直通磁盘附加到虚拟磁盘驱动器对象。

Type:VirtualDiskDrive
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

输出

VirtualDiskDrive

此 cmdlet 返回 VirtualDiskDrive 对象。

备注

  • 此 cmdlet 需要 VMM 虚拟磁盘驱动器对象,该对象当前与主机上部署的虚拟机相关联,可以使用 Get-SCVirtualDiskDrive cmdlet 进行检索。