Remove-SCVirtualDiskDrive

가상 머신 또는 가상 머신 템플릿에서 가상 디스크 드라이브를 제거합니다.

Syntax

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

Description

Remove-SCVirtualDiskDrive cmdlet은 가상 머신 또는 VMM(Virtual Machine Manager) 환경의 가상 머신 템플릿에서 가상 디스크 드라이브 개체를 제거합니다.

예제

예제 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]}

첫 번째 명령은 Get-SCVirtualMachine cmdlet을 사용하여 VMHost01에 배포된 VM01이라는 가상 머신 개체를 가져옵니다. 이 명령은 해당 개체를 $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 cmdlet을 사용하여 $VM 저장된 가상 머신을 반복하여 각 가상 머신에서 모든 가상 디스크 드라이브 개체를 가져옵니다. 두 번째 명령은 가상 디스크 드라이브 개체를 $VirtDiskDrives 개체 배열에 저장합니다.

세 번째 명령은 두 번째 ForEach 루프를 사용하여 이름이 $VirtDiskDrives 배열의 문자열 LOBData를 포함하고 이러한 개체를 현재 cmdlet에 전달하는 모든 가상 디스크 드라이브 개체를 선택합니다. 이 cmdlet은 VMM에서 개체를 제거합니다.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인을 요청합니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

작업을 강제로 완료합니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

동일한 작업 그룹 식별자를 포함하는 최종 명령이 실행되기 직전에 집합으로 실행되는 일련의 명령에 대한 식별자를 지정합니다.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

작업 진행률을 추적하고 저장하는 변수를 지정합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUser

사용자 이름을 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 사용자를 대신하여 작동합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

사용자 역할을 지정합니다. 사용자 역할을 가져오려면 Get-SCUserRole cmdlet을 사용합니다. 이 cmdlet은 이 매개 변수가 지정하는 사용자 역할을 대신하여 작동합니다.

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

이 작업을 트리거한 PRO 팁(성능 및 리소스 최적화 팁)의 ID를 지정합니다. 이 매개 변수를 사용하면 PRO 팁을 감사할 수 있습니다.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

컨트롤이 명령 셸로 즉시 반환되도록 작업이 비동기적으로 실행됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDeleteVHD

이 cmdlet은 가상 디스크 드라이브를 제거하는 동안 VHD 파일이 아님을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualDiskDrive

가상 디스크 드라이브 개체를 지정합니다. 가상 하드 디스크 또는 통과 디스크를 가상 디스크 드라이브 개체에 연결할 수 있습니다.

Type:VirtualDiskDrive
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

참고

  • Get-SCVirtualDiskDrive cmdlet을 사용하여 검색할 수 있는 VMM 가상 디스크 드라이브 개체가 필요합니다.