Share via


Remove-SCVirtualMachine

Rimuove un oggetto macchina virtuale da VMM.

Sintassi

Remove-SCVirtualMachine
      [-VM] <VM>
      [-SkipFileRemoval]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Descrizione

Il cmdlet Remove-SCVirtualMachine rimuove un oggetto macchina virtuale distribuito in un host o archiviato in un server di libreria VMM (Virtual Machine Manager).

Questo cmdlet elimina il record della macchina virtuale dal database VMM, elimina tutti i file associati alla macchina virtuale e rimuove la macchina virtuale dall'host in cui viene distribuito o dal server di libreria in cui viene archiviato.

Se una cartella in un host è stata creata per questa macchina virtuale da VMM, anziché da Hyper-V o VMware e se tale cartella non contiene altre macchine virtuali o altri dati, è possibile usare il file system per eliminare la cartella dopo aver rimosso la macchina virtuale.

Se si specifica il parametro Force , questo cmdlet elimina solo la macchina virtuale dal database VMM. Non elimina la macchina virtuale stessa.

Questo cmdlet restituisce l'oggetto al termine dell'esito positivo che ha un valore di $True per la proprietà MarkedForDeletion . Se ha esito negativo, il cmdlet restituisce un messaggio di errore.

Esempio

Esempio 1: Rimuovere una macchina virtuale specifica distribuita in un host

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.VMHost.Name -eq "VMHost01.Contoso.com" -and $_.Name -eq "VM01" }
PS C:\> Remove-SCVirtualMachine -VM $VM

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 distribuito in VMHost01 e quindi archivia l'oggetto macchina virtuale nella variabile $VM.

Il secondo comando rimuove l'oggetto archiviato in $VM ed elimina i file di macchina virtuale corrispondenti dal file system nel relativo host.

Esempio 2: Rimuovere tutte le macchine virtuali con nomi che includono una stringa specifica

PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine

Il primo comando ottiene tutti gli oggetti macchina virtuale distribuiti in qualsiasi host il cui nome include la stringa VM0 e quindi archivia questi oggetti macchina virtuale nella matrice denominata $VMs.

Il secondo comando rimuove ogni oggetto macchina virtuale nella matrice di $VMs ed elimina i file di macchina virtuale corrispondenti dal file system in ogni host.

Esempio 3: Rimuovere una macchina virtuale specifica archiviata in un server di libreria VMM

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer1.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" -and $_.Name -eq "VM02" }
PS C:\> Remove-SCVirtualMachine -VM $VM

Il primo comando ottiene l'oggetto che rappresenta la macchina virtuale denominata VM03 e quindi archivia l'oggetto macchina virtuale in $VM. In questo esempio esiste solo una macchina virtuale denominata VM03.

Il secondo comando rimuove l'oggetto che rappresenta VM03 dalla libreria ed elimina i file di macchina virtuale corrispondenti dal file system dal server di libreria.

Esempio 4: Rimuovere più macchine virtuali archiviate dalla libreria VMM

PS C:\> $VMs = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" -and $_.Name -match "VM0" }
PS C:\> $VMs | Remove-SCVirtualMachine -Confirm

Il primo comando ottiene tutti gli oggetti macchina virtuale i cui nomi includono la stringa VM0 e archiviati in LibraryServer01. Il comando archivia quindi gli oggetti macchina virtuale nella matrice denominata $VMs.

Il secondo comando passa ogni oggetto macchina virtuale archiviato in $VMs al cmdlet corrente, che rimuove ogni oggetto dalla libreria ed elimina i file di macchina virtuale corrispondenti dal file system nel server di libreria. Il parametro Confirm richiede di confermare se si vuole eliminare ognuna di queste macchine virtuali.

Parametri

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

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

-Force

Indica che questo cmdlet elimina solo la macchina virtuale dal database VMM. Non elimina la macchina virtuale stessa.

Nota

Per la macchina virtuale distribuita usando modelli di servizio o VMRole, questo parametro viene ignorato e viene eliminata anche la macchina virtuale effettiva.

Type:SwitchParameter
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

-OnBehalfOfUser

Specifica un nome utente. Questo cmdlet opera per conto dell'utente che specifica questo parametro.

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

-OnBehalfOfUserRole

Specifica un ruolo utente. Per ottenere un ruolo utente, usare il cmdlet Get-SCUserRole . Questo cmdlet opera per conto del ruolo utente specificato da questo parametro.

Type:UserRole
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

-SkipFileRemoval

Indica che questo cmdlet non rimuove direttamente i file correlati alla macchina virtuale. Se si specifica questo parametro, non viene eseguito alcun tentativo di eliminare direttamente i file.

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

-VM

Specifica un oggetto macchina virtuale.

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

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

Note

Questo cmdlet richiede un oggetto macchina virtuale VMM, che può essere recuperato usando il cmdlet Get-SCVirtualMachine .