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à
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
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