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 .