Share via


Convert-SCVirtualDiskDrive

Converte un disco rigido virtuale da dinamico a fisso, da fisso a dinamico, da disco rigido virtuale a VHDX o converte un disco pass-through in un disco rigido virtuale.

Sintassi

Convert-SCVirtualDiskDrive
       [-Fixed]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-VHDFormatType <VHDFormatType>]
       [-JobGroup <Guid>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Convert-SCVirtualDiskDrive
       [-Dynamic]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-VHDFormatType <VHDFormatType>]
       [-JobGroup <Guid>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Convert-SCVirtualDiskDrive
       [-VHDX]
       [-DeleteSource]
       [-ValidateOnCompletion]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-JobGroup <Guid>]
       [-BlockSizeBytes <Int32>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]

Descrizione

Il cmdlet Convert-SCVirtualDiskDrive converte un disco rigido virtuale esistente collegato a un oggetto unità disco virtuale danamico a fisso o da fisso a dinamico, da VHD a VHDX o converte un disco pass-through collegato a un oggetto disco virtuale in un disco rigido virtuale.

Per convertire il disco rigido virtuale da un formato all'altro, la macchina virtuale in cui è configurato il disco rigido virtuale deve essere in uno stato arrestato.

È possibile convertire solo il formato del disco di un file vhd basato su Windows in una macchina virtuale distribuita in un host Hyper-V.

Un file vmdk basato su VMware in una macchina virtuale distribuita in un host ESX è fisso in formato. Non è possibile convertirlo in un formato dinamico.

Un file vhd basato su Citrix XenServer in una macchina virtuale distribuita in un host Citrix XenServer è fisso in formato. Non è possibile convertirlo in un formato dinamico.

È possibile convertire solo il formato del disco di un file disco rigido virtuale basato su Windows da disco rigido virtuale a VHDX in una macchina virtuale distribuita in un host Hyper-V. Per convertire un disco rigido virtuale in VHDX, la macchina virtuale in cui è configurato il disco rigido virtuale deve essere in uno stato arrestato.

I dischi pass-through sono dischi rigidi fisici dell'host utilizzabili dalla macchina virtuale al posto di un disco rigido virtuale. Questo cmdlet converte un disco pass-through collegato a un'unità disco virtuale in una macchina virtuale in un disco rigido virtuale. La macchina virtuale deve trovarsi in un host Hyper-V e deve essere in uno stato arrestato.

Esempio

Esempio 1: Convertire un disco pass-through in una macchina virtuale in un disco rigido virtuale

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> Convert-VirtualDiskDrive $VirtDiskDrive -Fixed -Path "C:\VirtualDiskDrives"

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 usando il cmdlet Get-SCVirtualMachine . Il comando archivia l'oggetto nella variabile $VM. In questo esempio si presuppone che VM01 sia attualmente configurato per l'uso di un disco pass-through e che la macchina virtuale abbia un solo disco pass-through.

Il secondo comando ottiene l'oggetto unità disco virtuale in VM01 e quindi archivia tale oggetto nella variabile $VirtDiskDrive.

L'ultimo comando converte l'unità disco pass-through archiviata in $VirtDiskDrive in un disco rigido virtuale fisso. Il comando sposta il disco rigido virtuale nella cartella di destinazione C:\VirtualDiskDrives.

Esempio 2: Convertire uno dei diversi dischi pass-through in un'unità disco virtuale in una macchina virtuale in un disco rigido virtuale

PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> $VirtDiskDrive[2] | Convert-SCVirtualDiskDrive -Dynamic -Path "D:\"

Il primo comando ottiene l'oggetto macchina virtuale denominato VM02 e quindi archivia tale oggetto nella variabile $VM. In questo esempio si presuppone che VM02 disponga di tre oggetti unità disco virtuale e che il primo disco virtuale sia associato a un disco rigido virtuale, mentre sia la seconda che la terza unità disco virtuale sono associate a dischi pass-through.

Il secondo comando ottiene tutti gli oggetti dell'unità disco virtuale in VM02 e quindi archivia tali oggetti nella matrice di oggetti $VirtDiskDrive.

L'ultimo comando converte il terzo disco pass-through, che è il terzo membro della matrice $VirtDiskDrive, in un disco rigido virtuale in espansione dinamica. Il comando sposta questo nuovo disco rigido virtuale nella cartella di destinazione D:.

Esempio 3: Convertire un disco rigido virtuale dinamico collegato a un oggetto unità disco virtuale in una macchina virtuale in un formato fisso

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM03")
PS C:\> Convert-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -Fixed

Il primo comando ottiene l'oggetto unità disco virtuale collegato alla macchina virtuale VM03 e quindi archivia l'oggetto unità disco virtuale nella variabile $VirtDiskDrive. In questo esempio si presuppone che la macchina virtuale abbia un solo oggetto unità disco virtuale e che il disco rigido virtuale collegato all'unità disco virtuale sia un disco rigido virtuale dinamico.

Il secondo comando converte il disco rigido virtuale archiviato in $VirtDiskDrive in un disco fisso.

Esempio 4: Convertire un disco rigido virtuale dinamico in una macchina virtuale in VHDX fisso

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM03")
PS C:\> Convert-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -VHDX

Il primo comando ottiene l'oggetto unità disco virtuale collegato alla macchina virtuale VM03 e archivia tale oggetto nella variabile $VirtDiskDrive. In questo esempio si presuppone che la macchina virtuale abbia un solo oggetto unità disco virtuale e che il disco rigido virtuale collegato all'unità disco virtuale sia un disco rigido virtuale dinamico. In questo esempio si presuppone anche che la macchina virtuale si trova in uno stato arrestato.

Il secondo comando converte il disco rigido virtuale archiviato in $VirtDiskDrive in un disco VHDX.

Esempio 5: Convertire un disco rigido virtuale diverso in un VHDX diverso

PS C:\> $VirtDiskDrive = Get-VirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM04")
PS C:\> Convert-VirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -VHDX -BlockSizeBytes 1MB -DeleteSource -ValidateOnCompletion

Il primo comando ottiene l'oggetto unità disco virtuale collegato alla macchina virtuale VM04 e quindi archivia tale oggetto nella variabile $VirtDiskDrive. In questo esempio si presuppone che la macchina virtuale abbia un solo oggetto unità disco virtuale e che il disco rigido virtuale collegato all'unità disco virtuale sia un disco rigido virtuale dinamico. In questo esempio si presuppone anche che la macchina virtuale si trova in uno stato arrestato.

Il secondo comando converte il disco rigido virtuale diverso archiviato in $VirtDiskDrive in un disco VHDX diverso. Questo comando elimina il disco di origine.

Parametri

-BlockSizeBytes

Specifica le dimensioni del blocco, in byte, per il disco rigido virtuale.

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

-DeleteSource

Indica che questo cmdlet elimina il disco rigido virtuale di origine dopo una conversione riuscita.

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

-Dynamic

Specifica che un disco rigido virtuale può espandersi dinamicamente.

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

-FileName

Specifica il nome di file da utilizzare per rinominare un file di disco rigido virtuale mentre viene aggiunto a una macchina virtuale.

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

-Fixed

Indica che un disco rigido virtuale è fisso in dimensioni. Specifica che un disco rigido virtuale è del tipo a dimensione fissa.

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

-JobGroup

Specifica un identificatore per una serie di comandi eseguiti come set appena prima dell'esecuzione dello stesso identificatore del gruppo di processi.

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

-JobVariable

Specifica una variabile in cui lo stato di avanzamento del processo viene monitorato e archiviato.

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

-Path

Specifica il numero di unità logica (LUN) per un oggetto unità disco virtuale o per un oggetto unità disco virtuale in un bus SCSI.

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

-PROTipID

Specifica l'ID del suggerimento prestazioni e ottimizzazione risorse (suggerimento PRO) che ha attivato questa azione. Questo parametro consente di controllare i suggerimenti PRO.

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

-RunAsynchronously

Indica che il processo viene eseguito in modo asincrono in modo che il controllo restituisca immediatamente alla shell dei comandi.

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

-ValidateOnCompletion

Indica che questo cmdlet convalida il disco rigido virtuale convertito dopo una conversione riuscita.

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

-VHDFormatType

Specifica il tipo di formato del disco rigido. I valori validi sono:

  • VHD
  • VMDK
  • VHDX
Type:VHDFormatType
Accepted values:VHD, VMDK, VHDX, VHDS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VHDX

Indica che un tipo di disco rigido virtuale è VHDX.

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

-VirtualDiskDrive

Specifica un oggetto unità disco virtuale. È possibile collegare un disco rigido virtuale o un disco pass-through a un oggetto unità disco virtuale.

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

Output

VirtualDiskDrive

Questo cmdlet restituisce un oggetto VirtualDiskDrive .