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

MultipleKvpKeys

Set-SCGuestInfo
    [-VM] <VM>
    -KvpMap <Hashtable>
    [<CommonParameters>]

SingleKvpKey

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-Wert-Paar 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.

Mit dem zweiten Befehl wird ein Schlüssel-Wert-Paar für VM01 festgelegt.

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 für den virtuellen Computer mit dem Namen VM01 auf Microsoft.Lab.Isolation.ServerVersion und der Wert auf 1.0.1101 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 VM-Objekt mit dem Namen Win2k8R2 ab und speichert das Objekt in der Variablen $VM.

Mit dem zweiten Befehl wird eine Hashtabelle mit dem Namen $ValuesMap erstellt, die die entsprechenden Schlüssel und Werte für die Schlüssel-Wert-Paare enthält. Die Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null setzen, 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 eines Satzes 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 VM-Objekt mit dem Namen Win2k8R2 ab und speichert das Objekt in der Variablen $VM.

Mit dem zweiten Befehl wird eine Hashtabelle mit dem Namen $ValuesMap erstellt, die die entsprechenden Schlüssel und Werte für die Schlüssel-Wert-Paare enthält. Die Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null setzen, 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 zurück.

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

Mit den nächsten drei Befehlen werden zwei Schlüssel und ihre Werte erstellt und an die Konsole für die virtuelle Maschine Win2k8R2 zurückgegeben.

Mit dem fünften Befehl wird das Schlüssel-Wert-Paar Key1 gelöscht, indem Set-SCGuestInfo aufgerufen wird, ohne den value-Parameter anzugeben.

Mit dem sechsten und siebten Befehl wird eine neue Hashtabelle mit Null als Wert für den Schlüssel Key2 erstellt. Anschließend wird der Schlüssel Key2 durch Aufrufen des Cmdlets Set-SCGuestInfo gelöscht.

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, 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.

Mit dem zweiten Befehl wird eine Hashtabelle mit dem Namen $ValuesMap 3 erstellt, die die entsprechenden Schlüssel und Werte für die Schlüssel-Wert-Paare enthält. Die Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null setzen, wird der Schlüssel gelöscht.

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

Mit dem letzten Befehl werden die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen VM01 zurückgelesen.

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.

Mit dem zweiten Befehl wird eine Hashtabelle mit dem Namen $ValuesMap 4 erstellt, die die entsprechenden Schlüssel und Werte für die Schlüssel-Wert-Paare enthält. Die Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null setzen, 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 setzt die Taste VSLM1 auf leer, indem der Befehl Set-SCGuestInfo aufgerufen wird.

Mit dem letzten Befehl werden die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen VM01 zurückgelesen.

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.

Mit dem zweiten Befehl wird eine Hashtabelle mit dem Namen $ValuesMap 5 erstellt, die die entsprechenden Schlüssel und Werte für die Schlüssel-Wert-Paare enthält. Die Werte können auf eine Zeichenfolge, eine leere Zeichenfolge oder $Null festgelegt werden. Wenn Sie einen Wert auf $Null setzen, wird der Schlüssel gelöscht.

Der vierte Befehl setzt die Taste VSLM1 auf "data again" und löscht die Taste VLSM3 durch Aufrufen des Befehls Set-SCGuestInfo .

Mit dem letzten Befehl werden die Schlüssel-Wert-Paare für den virtuellen Computer mit dem Namen VM01 zurückgelesen.

Beispiel 9: Ignorieren des Löschens 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 Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert das Objekt in der $VM Variablen.

Mit dem zweiten Befehl wird eine Hashtabelle mit dem Namen $ValuesMap 5 erstellt, die die entsprechenden Schlüssel und Werte für die Schlüssel-Wert-Paare enthält. Wenn Sie einen Wert auf $Null setzen, wird der Schlüssel gelöscht.

Mit dem dritten Befehl werden die Werte für die angegebenen Schlüssel in der Hashtabelle auf $Null festgelegt.

Mit dem letzten Befehl werden alle Schlüssel in der Hashtabelle mit Ausnahme des Schlüssels o1ff1 gelöscht, indem das Cmdlet Set-SCGuestInfo aufgerufen wird.

Parameter

-Key

Gibt den Schlüssel in einem Schlüssel-Wert-Paar an.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SingleKvpKey
Position:1
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-KvpMap

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

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

MultipleKvpKeys
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Value

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

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SingleKvpKey
Position:2
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VM

Gibt ein Objekt eines virtuellen Computers an.

Parametereigenschaften

Typ:VM
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch.:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Ausgaben

String

Dieses Cmdlet gibt ein String-Objekt zurück.