Condividi tramite


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 distribuita o dal server di libreria in cui è 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 in caso di esito positivo con valore $True per la proprietà MarkedForDeletion. In caso di errore, 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 nell'array $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 una sola 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 nel 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 desidera eliminare ognuna di queste macchine virtuali.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-JobVariable

Specifica una variabile in cui viene rilevato e archiviato lo stato del processo.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OnBehalfOfUser

Specifica un nome utente. Questo cmdlet opera per conto dell'utente specificato da questo parametro.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:UserRole
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PROTipID

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

Tipo:Guid
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RunAsynchronously

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipFileRemoval

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-VM

Specifica un oggetto macchina virtuale.

Tipo:VM
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Note

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