Remove-SCVirtualMachine
Удаляет объект виртуальной машины из VMM.
Синтаксис
Remove-SCVirtualMachine
[-VM] <VM>
[-SkipFileRemoval]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Описание
Командлет Remove-SCVirtualMachine удаляет объект виртуальной машины, развернутый на узле или хранящемся на сервере библиотеки Virtual Machine Manager (VMM).
Этот командлет удаляет запись виртуальной машины из базы данных VMM, удаляет все файлы, связанные с виртуальной машиной, и удаляет виртуальную машину из узла, на котором он развертывается или с сервера библиотеки, на котором он хранится.
Если папка на узле была создана для этой виртуальной машины VMM, а не Hyper-V или VMware, а если эта папка не содержит других виртуальных машин или других данных, можно использовать файловую систему для удаления папки после удаления виртуальной машины.
Если указать параметр Force, этот командлет удаляет только виртуальную машину из базы данных VMM. Она не удаляет саму виртуальную машину.
Этот командлет возвращает объект после успешного выполнения, имеющего значение $True для свойства MarkedForDeletion. В случае сбоя командлет возвращает сообщение об ошибке.
Примеры
Пример 1. Удаление определенной виртуальной машины, развернутой на узле
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
Первая команда получает объект виртуальной машины с именем VM01, развернутый в VMHost01, а затем сохраняет объект виртуальной машины в переменной $VM.
Вторая команда удаляет объект, хранящийся в $VM, и удаляет соответствующие файлы виртуальной машины из файловой системы на своем узле.
Пример 2. Удаление всех виртуальных машин с именами, включающими определенную строку
PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine
Первая команда получает все объекты виртуальных машин, развернутые на любом узле, имя которого включает строку VM0, а затем сохраняет эти объекты виртуальных машин в массиве с именем $VMs.
Вторая команда удаляет каждый объект виртуальной машины в массиве $VMs и удаляет соответствующие файлы виртуальных машин из файловой системы на каждом узле.
Пример 3. Удаление определенной виртуальной машины, хранящейся на сервере библиотекИ 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
Первая команда получает объект, представляющий виртуальную машину с именем VM03, а затем сохраняет объект виртуальной машины в $VM. В этом примере существует только одна виртуальная машина с именем VM03.
Вторая команда удаляет объект, представляющий VM03 из библиотеки, и удаляет соответствующие файлы виртуальной машины из файловой системы на сервере библиотеки.
Пример 4. Удаление нескольких сохраненных виртуальных машин из библиотеки 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
Первая команда получает все объекты виртуальной машины, имена которых включают строку VM0 и хранятся в LibraryServer01. Затем команда сохраняет объекты виртуальной машины в массиве с именем $VMs.
Вторая команда передает каждый объект виртуальной машины, хранящийся в $VMs, текущему командлету, который удаляет каждый объект из библиотеки и удаляет соответствующие файлы виртуальной машины из файловой системы на сервере библиотеки. Параметр "Подтверждение" запрашивает подтверждение того, нужно ли удалить каждую из этих виртуальных машин.
Параметры
-Confirm
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Force
Указывает, что этот командлет удаляет виртуальную машину только из базы данных VMM. Она не удаляет саму виртуальную машину.
Заметка
Для виртуальной машины, развернутой с помощью шаблонов служб или VMRole, этот параметр игнорируется, а фактическая виртуальная машина также удаляется.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-JobVariable
Указывает переменную, в которой выполняется задание, отслеживается и сохраняется.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-OnBehalfOfUser
Указывает имя пользователя. Этот командлет работает от имени пользователя, указанного этим параметром.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-OnBehalfOfUserRole
Указывает роль пользователя.
Чтобы получить роль пользователя, используйте командлет Get-SCUserRole
Тип: | UserRole |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PROTipID
Указывает идентификатор подсказки по оптимизации производительности и ресурсов (подсказка PRO), активировав это действие. Этот параметр позволяет проверять советы PRO.
Тип: | Guid |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RunAsynchronously
Указывает, что задание выполняется асинхронно, чтобы элемент управления сразу же возвращал командную оболочку.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SkipFileRemoval
Указывает, что этот командлет не удаляет файлы, связанные с виртуальной машиной напрямую. Если этот параметр указан, попытка удалить файлы напрямую не выполняется.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VM
Указывает объект виртуальной машины.
Тип: | VM |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Примечания
Для этого командлета требуется объект виртуальной машины VMM, который можно получить с помощью командлета Get-SCVirtualMachine.