다음을 통해 공유


Set-SCGuestInfo

게스트 운영 체제의 키/값 쌍에 대한 키와 연결된 값을 설정합니다.

Syntax

Set-SCGuestInfo
   [-VM] <VM>
   -KvpMap <Hashtable>
   [<CommonParameters>]
Set-SCGuestInfo
   [-VM] <VM>
   [-Key] <String>
   [[-Value] <String>]
   [<CommonParameters>]

Description

Set-SCGuestInfo cmdlet은 게스트 운영 체제의 키/값 쌍에 대한 키와 연결된 값을 설정합니다.

예제

예제 1: 단일 키/값 쌍 설정

PS C:\> $VM = Get-SCVirtualMachine "VM01" 
PS C:\> Set-SCGuestInfo -VM $VM -Key Key -Value Value

첫 번째 명령은 VM01이라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 VM01에 대한 키/값 쌍을 설정합니다.

예제 2: 키/값 쌍의 값으로 키 설정

PS C:\> Get-SCVirtualMachine -Name "VM01" | Set-SCGuestInfo -Key Microsoft.Lab.Isolation.ServerVersion -Value 1.0.1101

이 명령은 키를 Microsoft.Lab.Isolation.ServerVersion으로 설정하고 VM01이라는 가상 머신의 값을 1.0.1101로 설정합니다. 키가 없으면 지정된 값으로 만들어집니다. 키가 이미 있는 경우 이 명령에 지정된 값을 사용하여 해당 값을 덮어씁니다.

Read-SCGuestInfo cmdlet을 사용하여 키를 제공하고 해당 값을 반환할 수 있습니다.

예제 3: 여러 키/값 쌍 설정

PS C:\> $VM = Get-SCVirtualMachine -Name "Win2k8R2"
PS C:\> $ValuesMap  = @{"Key1" = "avalue1"; "Key2IsEmptyString" = "" ; "Key3" = "value3"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap

첫 번째 명령은 Win2k8R2라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 키/값 쌍에 해당하는 키와 값을 포함하는 $ValuesMap 명명된 해시 테이블을 만듭니다. 값은 문자열, 빈 문자열 또는 $Null 설정할 수 있습니다. 값을 $Null 설정하면 키가 삭제됩니다.

세 번째 명령은 Win2k8R2라는 가상 머신의 키/값 쌍을 설정합니다.

마지막 명령은 Win2k8R2라는 가상 머신의 키/값 쌍을 다시 읽습니다.

예제 4: 키/값 쌍 집합에 대한 값 집합 수정

PS C:\> $VM = Get-SCVirtualMachine -Name "Win2k8R2"
PS C:\> $ValuesMap  = @{"Key1" = "avalue1"; "Key2IsEmptyString" = "" ; "Key3" = "value3"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap
PS C:\> $ValuesMap  = @{"Key2IsEmptyString" = "KeyIsNoLongerEmpty"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> $ValuesMap  = @{"Key1" = $Null; "Key2IsEmptyString" = $Null; "Key3" = $Null}
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap

첫 번째 명령은 Win2k8R2라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 키/값 쌍에 해당하는 키와 값을 포함하는 $ValuesMap 명명된 해시 테이블을 만듭니다. 값은 문자열, 빈 문자열 또는 $Null 설정할 수 있습니다. 값을 $Null 설정하면 키가 삭제됩니다.

세 번째 명령은 Win2k8R2라는 가상 머신의 키/값 쌍을 설정합니다.

네 번째 명령은 Win2k8R2라는 가상 머신의 키/값 쌍을 다시 읽습니다.

다섯 번째 명령은 특정 키가 다른 값으로 변경되는 새 해시 테이블을 만듭니다.

여섯 번째 명령은 해시 테이블의 지정된 키에 대한 수정된 값을 설정합니다.

마지막 두 명령은 Key2IsEmptyString에 대한 수정된 값을 포함하여 Win2k8R2라는 가상 머신의 키/값 쌍을 다시 읽습니다.

예제 5: 두 가지 메서드를 사용하여 키/값 쌍 삭제

PS C:\> $VM = Get-SCVirtualMachine -Name "Win2k8R2"
PS C:\> $ValuesMap  = @{"Key1" = "avalue1"; "Key2" = "avalue2"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap
PS C:\> Set-SCGuestInfo -VM $VM -Key Key1 
PS C:\> $KvpsToDelete  = @{"Key2" = $Null}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $KvpsToDelete  
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap

첫 번째 명령은 Win2k8R2라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

다음 세 명령은 두 개의 키와 해당 값을 만들고 가상 머신 Win2k8R2용 콘솔로 반환합니다.

다섯 번째 명령은 값 매개 변수를 지정하지 않고 Set-SCGuestInfo 를 호출하여 키/값 쌍 Key1을 삭제합니다.

여섯 번째 및 일곱 번째 명령은 키 키2의 값으로 Null을 사용하여 새 Hashtable을 만듭니다. 그런 다음 Set-SCGuestInfo cmdlet을 호출하여 Key2를 삭제합니다.

마지막 명령은 처음에 만든 두 키가 이제 두 개의 별도 메서드를 통해 삭제되었음을 보여 줍니다.

예제 6: 한 값이 비어 있는 여러 값 설정

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $ValuesMap3 = @{"VSLM1" = "value1"; "VLSM2" = "value2" ; "VLSM3" = "value3" ; "VLDM4" = ""}
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $ValuesMap3
PS C:\> Read-SCGuestInfo -VM $VM -KVPMap $ValuesMap3 | Select KVPMap

첫 번째 명령은 VM01이라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 키/값 쌍에 해당하는 키와 값을 포함하는 $ValuesMap 3이라는 해시 테이블을 만듭니다. 값은 문자열, 빈 문자열 또는 $Null 설정할 수 있습니다. 값을 $Null 설정하면 키가 삭제됩니다.

세 번째 명령은 해시 테이블의 지정된 키 값을 설정합니다.

마지막 명령은 VM01이라는 가상 머신의 키/값 쌍을 다시 읽습니다.

예제 7: 한 값을 삭제하고 다른 값을 비워 두기

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $ValuesMap4 = @{"VLSM2" = $Null; "VSLM1" = "" }
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $ValuesMap4
PS C:\> Read-SCGuestInfo -VM $VM -KVPMap $ValuesMap4 | Select KVPMap

첫 번째 명령은 VM01이라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 키/값 쌍에 해당하는 키와 값을 포함하는 $ValuesMap 4라는 해시 테이블을 만듭니다. 값은 문자열, 빈 문자열 또는 $Null 설정할 수 있습니다. 값을 $Null 설정하면 키가 삭제됩니다.

세 번째 명령은 해시 테이블의 지정된 키 값을 설정합니다.

네 번째 명령은 키 VLSM2를 삭제하고 Set-SCGuestInfo 명령을 호출하여 키 VSLM1을 비워 줍니다.

마지막 명령은 VM01이라는 가상 머신의 키/값 쌍을 다시 읽습니다.

예제 8: 값 하나 설정 및 다른 값 삭제

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $ValuesMap5 = @{"VSLM1" = "data again"; "VLSM3" = $Null }
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $ValuesMap5
PS C:\> Read-SCGuestInfo -VM $VM -KVPMap $ValuesMap5 | Select KVPMap

첫 번째 명령은 VM01이라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 키/값 쌍에 해당하는 키와 값을 포함하는 $ValuesMap 5라는 해시 테이블을 만듭니다. 값은 문자열, 빈 문자열 또는 $Null 설정할 수 있습니다. 값을 $Null 설정하면 키가 삭제됩니다.

네 번째 명령은 키 VSLM1을 "다시 데이터"로 설정하고 Set-SCGuestInfo 명령을 호출하여 키 VLSM3을 삭제합니다.

마지막 명령은 VM01이라는 가상 머신의 키/값 쌍을 다시 읽습니다.

예제 9: 존재하지 않는 키 삭제 무시

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $KeysDoNotExist  = @{"o1ff1" = $Null; "o1ff2" = $Null; "o1ff3" = $Null ; "o1ff4" = $Null }
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $KeysDoNotExist 
PS C:\> Set-SCGuestInfo -VM $VM -Key "o1ff1"

첫 번째 명령은 VM01이라는 가상 머신 개체를 가져오고 개체를 $VM 변수에 저장합니다.

두 번째 명령은 키/값 쌍에 해당하는 키와 값을 포함하는 $ValuesMap 5라는 해시 테이블을 만듭니다. 값을 $Null 설정하면 키가 삭제됩니다.

세 번째 명령은 해시 테이블의 지정된 키에 대한 값을 $Null 설정합니다.

마지막 명령은 Set-SCGuestInfo cmdlet을 호출하여 o1ff1 키를 제외한 해시 테이블의 모든 키를 삭제합니다.

매개 변수

-Key

키/값 쌍의 키를 지정합니다.

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

-KvpMap

Hyper-V에서 노출하는 값에 해당하는 키/값 쌍의 해시 테이블을 지정합니다.

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

-Value

개체 또는 속성의 특성을 지정하는 데 사용되는 문자열을 지정합니다.

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

-VM

가상 컴퓨터 개체를 지정합니다.

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

출력

String

이 cmdlet은 String 개체를 반환합니다.