Set-SCGuestInfo
Hiermee stelt u de waarde in die is gekoppeld aan een sleutel/waardepaar in een gastbesturingssysteem.
Syntaxis
Set-SCGuestInfo
[-VM] <VM>
-KvpMap <Hashtable>
[<CommonParameters>]
Set-SCGuestInfo
[-VM] <VM>
[-Key] <String>
[[-Value] <String>]
[<CommonParameters>]
Description
De cmdlet Set-SCGuestInfo stelt de waarde in die is gekoppeld aan een sleutel/waardepaar in een gastbesturingssysteem.
Voorbeelden
Voorbeeld 1: Één sleutel/waardepaar instellen
PS C:\> $VM = Get-SCVirtualMachine "VM01"
PS C:\> Set-SCGuestInfo -VM $VM -Key Key -Value Value
Met de eerste opdracht wordt het virtuele-machineobject met de naam VM01 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht wordt een sleutel-waardepaar ingesteld voor VM01.
Voorbeeld 2: Een sleutel instellen op een waarde voor een sleutel/waardepaar
PS C:\> Get-SCVirtualMachine -Name "VM01" | Set-SCGuestInfo -Key Microsoft.Lab.Isolation.ServerVersion -Value 1.0.1101
Met deze opdracht wordt de sleutel ingesteld op Microsoft.Lab.Isolation.ServerVersion en de waarde op 1.0.1101 voor de virtuele machine met de naam VM01. Als de sleutel niet bestaat, wordt deze gemaakt met de opgegeven waarde. Als de sleutel al bestaat, wordt de waarde ervan overschreven met behulp van de waarde die in deze opdracht is opgegeven.
U kunt de cmdlet Read-SCGuestInfo gebruiken om de sleutel op te geven en de bijbehorende waarde te retourneren.
Voorbeeld 3: Meerdere sleutel-/waardeparen instellen
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
Met de eerste opdracht wordt het virtuele-machineobject met de naam Win2k8R2 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht maakt u een hashtabel met de naam $ValuesMap die de bijbehorende sleutels en waarden voor de sleutel-/waardeparen bevat. Waarden kunnen worden ingesteld op een tekenreeks, een lege tekenreeks of $Null. Als u een waarde instelt op $Null de sleutel verwijdert.
Met de derde opdracht worden de sleutel-/waardeparen ingesteld voor de virtuele machine met de naam Win2k8R2.
Met de laatste opdracht worden de sleutel-/waardeparen voor de virtuele machine met de naam Win2k8R2 teruggelezen.
Voorbeeld 4: Een set waarden voor een set sleutel-/waardeparen wijzigen
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
Met de eerste opdracht wordt het virtuele-machineobject met de naam Win2k8R2 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht maakt u een hashtabel met de naam $ValuesMap die de bijbehorende sleutels en waarden voor de sleutel-/waardeparen bevat. Waarden kunnen worden ingesteld op een tekenreeks, een lege tekenreeks of $Null. Als u een waarde instelt op $Null de sleutel verwijdert.
Met de derde opdracht worden de sleutel-/waardeparen ingesteld voor de virtuele machine met de naam Win2k8R2.
Met de vierde opdracht worden de sleutel-/waardeparen voor de virtuele machine met de naam Win2k8R2 voorgelezen.
Met de vijfde opdracht maakt u een nieuwe hashtabel waarin een specifieke sleutel wordt gewijzigd in een andere waarde.
Met de zesde opdracht wordt de gewijzigde waarde voor de opgegeven sleutel in de hashtabel ingesteld.
De laatste twee opdrachten lezen de sleutel-/waardeparen voor de virtuele machine met de naam Win2k8R2, inclusief de gewijzigde waarde voor de sleutel Key2IsEmptyString.
Voorbeeld 5: Een sleutel/waardepaar verwijderen met behulp van twee methoden
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
Met de eerste opdracht wordt het virtuele-machineobject met de naam Win2k8R2 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de volgende drie opdrachten worden twee sleutels en de bijbehorende waarden gemaakt en geretourneerd naar de console voor virtuele machine Win2k8R2.
Met de vijfde opdracht wordt sleutel-waardepaar Key1 verwijderd door Set-SCGuestInfo aan te roepen zonder de waardeparameter op te geven.
Met de zesde en zevende opdrachten maakt u een nieuwe hashtabel met Null als de waarde voor sleutelsleutel2. Sleutel2 wordt vervolgens verwijderd door de cmdlet Set-SCGuestInfo aan te roepen.
De laatste opdracht laat zien dat beide sleutels die in eerste instantie zijn gemaakt, nu worden verwijderd via twee afzonderlijke methoden.
Voorbeeld 6: Meerdere waarden instellen waarbij één waarde leeg is
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
Met de eerste opdracht wordt het virtuele-machineobject met de naam VM01 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht maakt u een hashtabel met de naam $ValuesMap 3 die de bijbehorende sleutels en waarden voor de sleutel-/waardeparen bevat. Waarden kunnen worden ingesteld op een tekenreeks, een lege tekenreeks of $Null. Als u een waarde instelt op $Null de sleutel verwijdert.
Met de derde opdracht worden de waarden voor de opgegeven sleutels in de hashtabel ingesteld.
Met de laatste opdracht worden de sleutel-/waardeparen voor de virtuele machine met de naam VM01 teruggelezen.
Voorbeeld 7: Een waarde verwijderen en een andere waarde instellen op leeg
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
Met de eerste opdracht wordt het virtuele-machineobject met de naam VM01 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht maakt u een hashtabel met de naam $ValuesMap 4 die de bijbehorende sleutels en waarden voor de sleutel-/waardeparen bevat. Waarden kunnen worden ingesteld op een tekenreeks, een lege tekenreeks of $Null. Als u een waarde instelt op $Null de sleutel verwijdert.
Met de derde opdracht worden de waarden voor de opgegeven sleutels in de hashtabel ingesteld.
Met de vierde opdracht verwijdert u sleutel VLSM2 en stelt u de sleutel VSLM1 in op leeg door de opdracht Set-SCGuestInfo aan te roepen.
Met de laatste opdracht worden de sleutel-/waardeparen voor de virtuele machine met de naam VM01 teruggelezen.
Voorbeeld 8: Een waarde instellen en een andere waarde verwijderen
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
Met de eerste opdracht wordt het virtuele-machineobject met de naam VM01 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht maakt u een hashtabel met de naam $ValuesMap 5 die de bijbehorende sleutels en waarden voor de sleutel-/waardeparen bevat. Waarden kunnen worden ingesteld op een tekenreeks, een lege tekenreeks of $Null. Als u een waarde instelt op $Null de sleutel verwijdert.
Met de vierde opdracht wordt vsLM1 ingesteld op 'gegevens opnieuw' en wordt sleutel VLSM3 verwijderd door de opdracht Set-SCGuestInfo aan te roepen.
Met de laatste opdracht worden de sleutel-/waardeparen voor de virtuele machine met de naam VM01 teruggelezen.
Voorbeeld 9: het verwijderen van sleutels negeren die niet bestaan
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"
Met de eerste opdracht wordt het virtuele-machineobject met de naam VM01 opgehaald en wordt het object opgeslagen in de $VM variabele.
Met de tweede opdracht maakt u een hashtabel met de naam $ValuesMap 5 die de bijbehorende sleutels en waarden voor de sleutel-/waardeparen bevat. Als u een waarde instelt op $Null de sleutel verwijdert.
Met de derde opdracht worden de waarden ingesteld op $Null voor de opgegeven sleutels in de hashtabel.
Met de laatste opdracht worden alle sleutels in de hashtabel verwijderd, met uitzondering van sleutel o1ff1 door de cmdlet Set-SCGuestInfo aan te roepen.
Parameters
-Key
Hiermee geeft u de sleutel in een sleutel/waardepaar.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-KvpMap
Hiermee geeft u een hash-tabel van sleutel-/waardeparen die overeenkomen met de waarden die worden weergegeven door Hyper-V.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Value
Hiermee geeft u een tekenreeks op die wordt gebruikt om een object of eigenschap toe te voegen.
Type: | String |
Position: | 2 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VM
Hiermee geeft u een virtuele-machineobject.
Type: | VM |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Uitvoerwaarden
String
Deze cmdlet retourneert een Tekenreeks-object.