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 è archiviata.
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 . 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 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 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 desidera 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 anche la macchina virtuale effettiva viene eliminata.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
Specifica una variabile in cui viene monitorato e archiviato lo stato del processo.
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 specificato da 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 della descrizione per le prestazioni e l'ottimizzazione delle 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 torni 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 effettuato 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 .