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 개체를 반환합니다.