Freigeben über


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.