Remove-SCVirtualDiskDrive

Удаляет виртуальные диски из виртуальной машины или из шаблона виртуальной машины.

Синтаксис

Default (по умолчанию)

Remove-SCVirtualDiskDrive
    [-VirtualDiskDrive] <VirtualDiskDrive>
    [-SkipDeleteVHD]
    [-JobGroup <Guid>]
    [-Force]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-WhatIf]
    [-Confirm]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

Описание

Командлет Remove-SCVirtualDiskDrive удаляет объекты виртуального диска из виртуальной машины или из шаблона виртуальной машины в среде диспетчера виртуальных машин (VMM).

Примеры

Пример 1: Извлечение виртуального диска из виртуальной машины

PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.VMHost.Name -Eq "VMHost01.Contoso.com" -And $_.Name -Eq "VM01" }
PS C:\> $VirtDiskDrive = @(Get-SCVirtualDiskDrive -VM $VM)
PS C:\> If($VirtDiskDrive.Count -Gt 1){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive[1]}

Первая команда получает объект виртуальной машины с именем VM01, развернутый на VMHost01 с помощью командлета Get-SCVirtualMachine . Команда сохраняет этот объект в переменной $VM.

Вторая команда получает все объекты виртуального диска на VM01, а затем сохраняет полученные объекты в $VirtDiskDrive. Использование символа @ и скобок гарантирует, что команда сохранит результаты в массиве, даже если команда возвращает один объект или $Null значение.

Последняя команда возвращает количество виртуальных дисков, связанных с виртуальной машиной, а затем, если существует более одного, команда удаляет второй виртуальный диск, обозначенный знаком [1], с виртуальной машины.

Пример 2: Удалите все транзитные диски, подключенные к виртуальной машине

PS C:\> $VM = Get-SCVirtualMachine | Where-Object {$_.Name -Eq "VM02"}
PS C:\> $VirtDiskDrives = @(Get-SCVirtualDiskDrive -VM $VM | Where-Object {$_.IsVHD -Eq $False})
PS C:\> If($VirtDiskDrives.Count -Gt 0){ForEach($VirtDiskDrive in $VirtDiskDrives){Remove-SCVirtualDiskDrive -Force -VirtualDiskDrive $VirtDiskDrive}}

Первая команда получает объект виртуальной машины с именем VM02, а затем сохраняет этот объект в переменной $VM.

Вторая команда получает все объекты виртуальных дисков, подключенных к VM02, которые не являются виртуальными жесткими дисками. Команда получает только объекты, представляющие сквозные диски. Команда сохраняет сквозные объекты диска в массиве объектов $VDDs.

Последняя команда использует оператор If для определения наличия по крайней мере одного сквозного виртуального диска. Если в результате получен один или несколько дисков, команда использует инструкцию ForEach для удаления каждого виртуального диска из массива объектов. Для получения дополнительной информации введите Get-Help about_If и Get-Help about_Foreach.

Последняя команда задает параметр Force . Таким образом, команда удаляет каждый виртуальный диск со своей виртуальной машины, даже если другие объекты VMM зависят от этого виртуального диска.

Пример 3: Удаление виртуальных дисков по имени

PS C:\> $VM = @(Get-SCVirtualMachine | Where-Object {$_.Name -Match "WebSrvLOB"})
PS C:\> ForEach-Object ($VM in $VMs){$VirtDiskDrives = Get-SCVirtualDiskDrive -VM $VM
PS C:\> ForEach-Object ($VirtDiskDrive in $VirtDiskDrives){If($VirtDiskDrive.Name -Match "LOBData"){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive}}}

Первая команда получает все объекты виртуальной машины, имя которых совпадает со строкой WebSrvLOB, а затем сохраняет эти объекты в массиве $VM.

Следующие две команды используют командлет ForEach-Object для итерации по виртуальным машинам, хранящимся в $VM, чтобы получить все объекты виртуальных дисков с каждой виртуальной машины. Вторая команда сохраняет объекты виртуального диска в массиве объектов $VirtDiskDrives.

Третья команда использует второй цикл ForEach для выбора всех объектов виртуального диска, имя которых содержит строку LOBData из массива $VirtDiskDrives, и передает эти объекты текущему командлету. Этот командлет удаляет объекты из VMM.

Параметры

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

Принудительно завершает операцию.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-JobGroup

Указывает идентификатор для ряда команд, которые выполняются как набор непосредственно перед выполнением последней команды, включающей тот же идентификатор группы заданий.

Свойства параметра

Тип:Guid
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-JobVariable

Указывает переменную, в которой отслеживается и сохраняется ход выполнения задания.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-OnBehalfOfUser

Указывает имя пользователя. Этот командлет работает от имени пользователя, указанного в этом параметре.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-OnBehalfOfUserRole

Указывает роль пользователя. Чтобы получить роль пользователя, используйте командлет Get-SCUserRole . Этот командлет работает от имени роли пользователя, указанной в этом параметре.

Свойства параметра

Тип:UserRole
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PROTipID

Указывает идентификатор подсказки по оптимизации производительности и ресурсов (подсказка PRO), активировав это действие. Этот параметр позволяет проверять советы PRO.

Свойства параметра

Тип:Guid
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RunAsynchronously

Указывает, что задание выполняется асинхронно, чтобы элемент управления сразу же возвращал командную оболочку.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-SkipDeleteVHD

Указывает, что этот командлет не удаляет файл VHD во время извлечения виртуального диска.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VirtualDiskDrive

Указывает объект виртуального диска. К объекту виртуального диска можно подключить либо виртуальный жесткий диск, либо транзитный диск.

Свойства параметра

Тип:VirtualDiskDrive
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Примечания

  • Требуется объект виртуального диска VMM, который можно получить с помощью командлета Get-SCVirtualDiskDrive .