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.