Set-SCGuestInfo

Legt den Wert fest, der einem Schlüsselpaar 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 legt den Wert fest, der einem Schlüssel für ein Schlüssel-/Wertpaar in einem Gastbetriebssystem zugeordnet ist.

Beispiele

Beispiel 1: Festlegen eines einzelnen Schlüssel-/Wertpaars

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

Der erste Befehl ruft das virtuelle Computerobjekt namens VM01 ab und speichert das Objekt in der $VM Variable.

Der zweite Befehl legt ein Schlüssel-/Wertpaar für VM01 fest.

Beispiel 2: Festlegen eines Schlüssels auf einen Wert für ein Schlüssel-/Wertpaar

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

Dieser Befehl legt den Schlüssel auf Microsoft.Lab.Isolation.ServerVersion und den Wert auf 1.0.1101 für den virtuellen Computer namens VM01 fest. Wenn der Schlüssel nicht vorhanden ist, wird er mit dem angegebenen Wert erstellt. Wenn der Schlüssel bereits vorhanden ist, wird der Wert mithilfe des in diesem Befehl angegebenen Werts ü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-/Wertpaare

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 virtuelle Computerobjekt mit dem Namen Win2k8R2 ab und speichert das Objekt in der $VM Variablen.

Der zweite Befehl erstellt eine Hashtable namens $ValuesMap, die die entsprechenden Schlüssel und Werte für die Schlüssel-/Wertpaare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Durch Festlegen eines Werts auf $Null wird der Schlüssel gelöscht.

Der dritte Befehl legt die Schlüssel-/Wertpaare für den virtuellen Computer mit dem Namen Win2k8R2 fest.

Der letzte Befehl liest die Tasten-/Wertpaare 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-/Wertpaaren

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 virtuelle Computerobjekt mit dem Namen Win2k8R2 ab und speichert das Objekt in der $VM Variablen.

Der zweite Befehl erstellt eine Hashtable namens $ValuesMap, die die entsprechenden Schlüssel und Werte für die Schlüssel-/Wertpaare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Durch Festlegen eines Werts auf $Null wird der Schlüssel gelöscht.

Der dritte Befehl legt die Schlüssel-/Wertpaare für den virtuellen Computer mit dem Namen Win2k8R2 fest.

Der vierte Befehl liest die Tasten-/Wertpaare für den virtuellen Computer mit dem Namen Win2k8R2 zurück.

Der fünfte Befehl erstellt eine neue Hashtable, 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 Tasten-/Wertpaare 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-/Wertpaars 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 virtuelle Computerobjekt mit dem Namen Win2k8R2 ab und speichert das Objekt in der $VM Variablen.

Die nächsten drei Befehle erstellen zwei Schlüssel und ihre Werte und geben sie zur Konsole für virtuelle Computer Win2k8R2 zurück.

Der fünfte Befehl löscht das Schlüssel-/Wertpaar Key1, indem Set-SCGuestInfo aufgerufen wird, ohne den Wertparameter anzugeben.

Die sechsten und siebten Befehle erstellen eine neue Hashtable mit Null als Wert für Key Key2. Anschließend wird key Key2 gelöscht, indem das Cmdlet "Set-SCGuestInfo " aufgerufen wird.

Der letzte Befehl zeigt, dass beide Schlüssel, die ursprünglich erstellt wurden, nun über zwei separate Methoden gelöscht werden.

Beispiel 6: Festlegen mehrerer Werte, in 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 virtuelle Computerobjekt namens VM01 ab und speichert das Objekt in der $VM Variable.

Der zweite Befehl erstellt eine Hashtable namens $ValuesMap 3, die die entsprechenden Schlüssel und Werte für die Schlüssel-/Wertpaare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Durch Festlegen eines Werts auf $Null wird der Schlüssel gelöscht.

Der dritte Befehl legt die Werte für die angegebenen Schlüssel in der Hashtable fest.

Der letzte Befehl liest die Tasten-/Wertpaare 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 virtuelle Computerobjekt namens VM01 ab und speichert das Objekt in der $VM Variable.

Der zweite Befehl erstellt eine Hashtable namens $ValuesMap 4, die die entsprechenden Schlüssel und Werte für die Schlüssel-/Wertpaare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Durch Festlegen eines Werts auf $Null wird der Schlüssel gelöscht.

Der dritte Befehl legt die Werte für die angegebenen Schlüssel in der Hashtable 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 Tasten-/Wertpaare 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 virtuelle Computerobjekt namens VM01 ab und speichert das Objekt in der $VM Variable.

Der zweite Befehl erstellt eine Hashtable namens $ValuesMap 5, die die entsprechenden Schlüssel und Werte für die Schlüssel-/Wertpaare enthält. Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Durch Festlegen eines Werts auf $Null wird der Schlüssel gelöscht.

Der vierte Befehl legt den Schlüssel VSLM1 auf "Daten erneut" fest und löscht den Schlüssel VLSM3, indem der Befehl "Set-SCGuestInfo " aufgerufen wird.

Der letzte Befehl liest die Tasten-/Wertpaare für den virtuellen Computer mit dem Namen VM01 zurück.

Beispiel 9: Ignorieren der Löschung von Schlüsseln, die nicht vorhanden sind

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 virtuelle Computerobjekt namens VM01 ab und speichert das Objekt in der $VM Variable.

Der zweite Befehl erstellt eine Hashtable namens $ValuesMap 5, die die entsprechenden Schlüssel und Werte für die Schlüssel-/Wertpaare enthält. Durch Festlegen eines Werts auf $Null wird der Schlüssel gelöscht.

Der dritte Befehl legt die Werte auf $Null für die angegebenen Schlüssel in der Hashtable 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-/Wertpaar an.

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

-KvpMap

Gibt eine Hashtabelle von Schlüssel-/Wertpaaren an, die den von Hyper-V verfügbar gemachten Werten entsprechen.

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

-Value

Gibt eine Zeichenfolge an, die zum Attributieren eines Objekts oder einer Eigenschaft verwendet wird.

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

-VM

Gibt ein Objekt virtueller Maschinen an.

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

Ausgaben

String

Dieses Cmdlet gibt ein String-Objekt zurück.