Udostępnij za pośrednictwem


Set-SCGuestInfo

Ustawia wartość skojarzona z kluczem dla pary klucz/wartość w systemie operacyjnym gościa.

Składnia

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

Opis

Polecenie cmdlet Set-SCGuestInfo ustawia wartość skojarzona z kluczem pary klucz/wartość w systemie operacyjnym gościa.

Przykłady

Przykład 1: Ustawianie pojedynczej pary klucz/wartość

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie ustawia parę klucz/wartość dla maszyny wirtualnej VM01.

Przykład 2: Ustawianie klucza na wartość pary klucz/wartość

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

To polecenie ustawia klucz na Microsoft.Lab.Isolation.ServerVersion i wartość 1.0.1101 dla maszyny wirtualnej o nazwie VM01. Jeśli klucz nie istnieje, zostanie utworzony z określoną wartością. Jeśli klucz już istnieje, jego wartość zostanie zastąpiona przy użyciu wartości określonej w tym poleceniu.

Możesz użyć polecenia cmdlet Read-SCGuestInfo , aby podać klucz i zwrócić jego odpowiadającą wartość.

Przykład 3: Ustawianie wielu par klucz/wartość

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie Win2k8R2 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie tworzy tabelę skrótów o nazwie $ValuesMap zawierającą odpowiednie klucze i wartości dla par klucz/wartość. Wartości można ustawić na ciąg, pusty ciąg lub $Null. Ustawienie wartości na $Null powoduje usunięcie klucza.

Trzecie polecenie ustawia pary klucz/wartość dla maszyny wirtualnej o nazwie Win2k8R2.

Ostatnie polecenie odczytuje pary klucz/wartość dla maszyny wirtualnej o nazwie Win2k8R2.

Przykład 4: Modyfikowanie zestawu wartości dla zestawu par klucz/wartość

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie Win2k8R2 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie tworzy tabelę skrótów o nazwie $ValuesMap zawierającą odpowiednie klucze i wartości dla par klucz/wartość. Wartości można ustawić na ciąg, pusty ciąg lub $Null. Ustawienie wartości na $Null powoduje usunięcie klucza.

Trzecie polecenie ustawia pary klucz/wartość dla maszyny wirtualnej o nazwie Win2k8R2.

Czwarte polecenie odczytuje pary klucz/wartość dla maszyny wirtualnej o nazwie Win2k8R2.

Piąte polecenie tworzy nową tabelę skrótów, w której określony klucz jest zmieniany na inną wartość.

Szóste polecenie ustawia zmodyfikowaną wartość dla określonego klucza w tabeli skrótów.

Ostatnie dwa polecenia odczytują pary klucz/wartość dla maszyny wirtualnej o nazwie Win2k8R2, w tym zmodyfikowaną wartość klucza Key2IsEmptyString.

Przykład 5. Usuwanie pary klucz/wartość przy użyciu dwóch metod

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie Win2k8R2 i przechowuje obiekt w zmiennej $VM.

Następne trzy polecenia tworzą dwa klucze i ich wartości i zwracają je do konsoli maszyny wirtualnej Win2k8R2.

Piąte polecenie usuwa parę klucz/wartość Key1 przez wywołanie Polecenia Set-SCGuestInfo bez określenia parametru wartości.

Szóste i siódme polecenia tworzą nową tabelę skrótów o wartości Null jako wartość klucza Key2. Następnie klucz Key2 jest usuwany przez wywołanie polecenia cmdlet Set-SCGuestInfo .

Ostatnie polecenie pokazuje, że oba klucze, które zostały początkowo utworzone, są teraz usuwane za pomocą dwóch oddzielnych metod.

Przykład 6: Ustawianie wielu wartości, w których jedna wartość jest pusta

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie tworzy tabelę skrótów o nazwie $ValuesMap 3, która zawiera odpowiednie klucze i wartości dla par klucz/wartość. Wartości można ustawić na ciąg, pusty ciąg lub $Null. Ustawienie wartości na $Null powoduje usunięcie klucza.

Trzecie polecenie ustawia wartości dla określonych kluczy w tabeli skrótów.

Ostatnie polecenie odczytuje pary klucz/wartość dla maszyny wirtualnej o nazwie VM01.

Przykład 7. Usunięcie jednej wartości i ustawienie innej wartości na pustą

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie tworzy tabelę skrótów o nazwie $ValuesMap 4 zawierającą odpowiednie klucze i wartości dla par klucz/wartość. Wartości można ustawić na ciąg, pusty ciąg lub $Null. Ustawienie wartości na $Null powoduje usunięcie klucza.

Trzecie polecenie ustawia wartości dla określonych kluczy w tabeli skrótów.

Czwarte polecenie usuwa klucz VLSM2 i ustawia klucz VSLM1 do pustego, wywołując polecenie Set-SCGuestInfo .

Ostatnie polecenie odczytuje pary klucz/wartość dla maszyny wirtualnej o nazwie VM01.

Przykład 8: Ustawianie jednej wartości i usuwanie innej wartości

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie tworzy tabelę skrótów o nazwie $ValuesMap 5 zawierającą odpowiednie klucze i wartości dla par klucz/wartość. Wartości można ustawić na ciąg, pusty ciąg lub $Null. Ustawienie wartości na $Null powoduje usunięcie klucza.

Czwarte polecenie ustawia klucz VSLM1 na "dane ponownie" i usuwa klucz VLSM3, wywołując polecenie Set-SCGuestInfo .

Ostatnie polecenie odczytuje pary klucz/wartość dla maszyny wirtualnej o nazwie VM01.

Przykład 9: Ignorowanie usunięcia kluczy, które nie istnieją

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"

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 i przechowuje obiekt w zmiennej $VM.

Drugie polecenie tworzy tabelę skrótów o nazwie $ValuesMap 5 zawierającą odpowiednie klucze i wartości dla par klucz/wartość. Ustawienie wartości na $Null powoduje usunięcie klucza.

Trzecie polecenie ustawia wartości na $Null dla określonych kluczy w tabeli skrótów.

Ostatnie polecenie usuwa wszystkie klucze w tabeli skrótów z wyjątkiem klucza o1ff1 przez wywołanie polecenia cmdlet Set-SCGuestInfo .

Parametry

-Key

Określa klucz w parze klucz/wartość.

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

-KvpMap

Określa tabelę skrótów par klucz/wartość odpowiadających wartościom udostępnianym przez funkcję Hyper-V.

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

-Value

Określa ciąg używany do atrybutu obiektu lub właściwości.

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

-VM

Określa obiekt maszyny wirtualnej.

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

Dane wyjściowe

String

To polecenie cmdlet zwraca obiekt String .