Remove-SCVirtualDiskDrive
Удаляет диски виртуальных дисков из виртуальной машины или из шаблона виртуальной машины.
Синтаксис
Remove-SCVirtualDiskDrive
[-VirtualDiskDrive] <VirtualDiskDrive>
[-SkipDeleteVHD]
[-JobGroup <Guid>]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Описание
Командлет remove-SCVirtualDiskDrive удаляет объекты диска виртуального диска из виртуальной машины или из шаблона виртуальной машины в среде Virtual Machine Manager (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.
Последняя команда использует Если оператор, чтобы определить, существует ли по крайней мере один сквозной виртуальный диск.
Если результат равен одному или нескольким, команда использует инструкцию 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
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Force
Принудительно завершает операцию.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-JobGroup
Задает идентификатор для ряда команд, которые выполняются как набор непосредственно перед последней командой, которая включает тот же идентификатор группы заданий.
Тип: | Guid |
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 |
-SkipDeleteVHD
Указывает, что этот командлет не содержит VHD-файл при удалении виртуального диска.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VirtualDiskDrive
Указывает объект виртуального диска. Можно подключить виртуальный жесткий диск или сквозный диск к объекту виртуального диска.
Тип: | VirtualDiskDrive |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Примечания
- Требуется объект виртуального диска VMM, который можно получить с помощью командлет а Get-SCVirtualDiskDrive.