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 .