Поделиться через


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.