Set-SCGuestInfo
Legt den wert fest, der einem Schlüssel für ein Schlüssel-Wert-Paar in einem Gastbetriebssystem zugeordnet ist.
Syntax
Set-SCGuestInfo
[-VM] <VM>
-KvpMap <Hashtable>
[<CommonParameters>]
Set-SCGuestInfo
[-VM] <VM>
[-Key] <String>
[[-Value] <String>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Set-SCGuestInfo Cmdlet legt den Wert fest, der einem Schlüssel/Wertpaar in einem Gastbetriebssystem zugeordnet ist.
Beispiele
Beispiel 1: Festlegen eines einzelnen Schlüssel-Wert-Paars
PS C:\> $VM = Get-SCVirtualMachine "VM01"
PS C:\> Set-SCGuestInfo -VM $VM -Key Key -Value Value
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl legt ein Schlüssel-Wert-Paar für VM01 fest.
Beispiel 2: Festlegen eines Schlüssels auf einen Wert für ein Schlüssel-Wert-Paar
PS C:\> Get-SCVirtualMachine -Name "VM01" | Set-SCGuestInfo -Key Microsoft.Lab.Isolation.ServerVersion -Value 1.0.1101
Mit diesem Befehl wird der Schlüssel auf "Microsoft.Lab.Isolation.ServerVersion" und der Wert "1.0.1101" für den virtuellen Computer namens "VM01" festgelegt. Wenn der Schlüssel nicht vorhanden ist, wird er mit dem angegebenen Wert erstellt. Wenn der Schlüssel bereits vorhanden ist, wird sein Wert mit dem in diesem Befehl angegebenen Wert überschrieben.
Sie können das Cmdlet Read-SCGuestInfo verwenden, um den Schlüssel bereitzustellen und den entsprechenden Wert zurückzugeben.
Beispiel 3: Festlegen mehrerer Schlüssel-Wert-Paare
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
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen Win2k8R2 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl erstellt eine Hashtabelle namens $ValuesMap, die die entsprechenden Schlüssel und Werte für die Schlüssel/Wert-Paare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null festlegen, wird der Schlüssel gelöscht.
Der dritte Befehl legt die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen Win2k8R2 fest.
Der letzte Befehl liest die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen Win2k8R2 zurück.
Beispiel 4: Ändern einer Gruppe von Werten für einen Satz von Schlüssel-Wert-Paaren
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
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen Win2k8R2 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl erstellt eine Hashtabelle namens $ValuesMap, die die entsprechenden Schlüssel und Werte für die Schlüssel/Wert-Paare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null festlegen, wird der Schlüssel gelöscht.
Der dritte Befehl legt die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen Win2k8R2 fest.
Der vierte Befehl liest die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen Win2k8R2 vor.
Der fünfte Befehl erstellt eine neue Hashtabelle, in der ein bestimmter Schlüssel in einen anderen Wert geändert wird.
Der sechste Befehl legt den geänderten Wert für den angegebenen Schlüssel in der Hashtable fest.
Die letzten beiden Befehle lesen die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen Win2k8R2 zurück, einschließlich des geänderten Werts für den Schlüssel Key2IsEmptyString.
Beispiel 5: Löschen eines Schlüssel-Wert-Paars mit zwei 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
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen Win2k8R2 ab und speichert das Objekt in der $VM Variablen.
Die nächsten drei Befehle erstellen zwei Tasten und deren Werte und geben sie zur Konsole für virtuelle Computer Win2k8R2 zurück.
Der fünfte Befehl löscht das Schlüssel-Wert-Paar Key1, indem Set-SCGuestInfo- aufgerufen wird, ohne den Wertparameter anzugeben.
Mit den sechsten und siebten Befehlen wird eine neue Hashtable mit Null als Wert für schlüssel Key2 erstellt. Anschließend wird Key2 durch Aufrufen des Cmdlets Set-SCGuestInfo gelöscht.
Der letzte Befehl zeigt, dass beide tasten, die ursprünglich erstellt wurden, nun über zwei separate Methoden gelöscht werden.
Beispiel 6: Festlegen mehrerer Werte, bei denen ein Wert leer ist
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
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl erstellt eine Hashtabelle mit dem Namen $ValuesMap 3, die die entsprechenden Schlüssel und Werte für die Schlüssel/Wert-Paare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null festlegen, wird der Schlüssel gelöscht.
Der dritte Befehl legt die Werte für die angegebenen Schlüssel in der Hashtabelle fest.
Der letzte Befehl liest die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen VM01 zurück.
Beispiel 7: Löschen eines Werts und Festlegen eines anderen Werts auf leer
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
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl erstellt eine Hashtabelle mit dem Namen $ValuesMap 4, die die entsprechenden Schlüssel und Werte für die Schlüssel/Wert-Paare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null festlegen, wird der Schlüssel gelöscht.
Der dritte Befehl legt die Werte für die angegebenen Schlüssel in der Hashtabelle fest.
Der vierte Befehl löscht die Taste VLSM2 und legt den Schlüssel VSLM1 auf leer, indem der befehl Set-SCGuestInfo aufgerufen wird.
Der letzte Befehl liest die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen VM01 zurück.
Beispiel 8: Festlegen eines Werts und Löschen eines anderen Werts
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
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl erstellt eine Hashtabelle mit dem Namen $ValuesMap 5, die die entsprechenden Schlüssel und Werte für die Schlüssel/Wert-Paare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null festlegen, wird der Schlüssel gelöscht.
Der vierte Befehl legt den Schlüssel VSLM1 auf "Daten erneut" fest und löscht VLSM3 durch Aufrufen des befehls Set-SCGuestInfo.
Der letzte Befehl liest die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen VM01 zurück.
Beispiel 9: Ignorieren des Löschens von nicht vorhandenen Schlüsseln
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"
Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert das Objekt in der $VM Variablen.
Der zweite Befehl erstellt eine Hashtabelle mit dem Namen $ValuesMap 5, die die entsprechenden Schlüssel und Werte für die Schlüssel/Wert-Paare enthält. Wenn Sie einen Wert auf $Null festlegen, wird der Schlüssel gelöscht.
Der dritte Befehl legt die Werte auf $Null für die angegebenen Schlüssel in der Hashtabelle fest.
Der letzte Befehl löscht alle Schlüssel in der Hashtable mit Ausnahme von Schlüssel o1ff1, indem das cmdlet Set-SCGuestInfo aufgerufen wird.
Parameter
-Key
Gibt den Schlüssel in einem Schlüssel-Wert-Paar an.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-KvpMap
Gibt eine Hashtabelle mit Schlüssel-Wert-Paaren an, die den von Hyper-V verfügbar gemachten Werten entsprechen.
Typ: | Hashtable |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Value
Gibt eine Zeichenfolge an, die zum Attributieren eines Objekts oder einer Eigenschaft verwendet wird.
Typ: | String |
Position: | 2 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-VM
Gibt ein Objekt eines virtuellen Computers an.
Typ: | VM |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Ausgaben
String
Dieses Cmdlet gibt ein String-Objekt zurück.