Share via


Set-SCGuestInfo

Imposta il valore associato a una chiave per una coppia chiave/valore in un sistema operativo guest.

Sintassi

Set-SCGuestInfo
   [-VM] <VM>
   -KvpMap <Hashtable>
   [<CommonParameters>]
Set-SCGuestInfo
   [-VM] <VM>
   [-Key] <String>
   [[-Value] <String>]
   [<CommonParameters>]

Descrizione

Il cmdlet Set-SCGuestInfo imposta il valore associato a una chiave per una coppia chiave/valore in un sistema operativo guest.

Esempio

Esempio 1: Impostare una singola coppia chiave/valore

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

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 e archivia l'oggetto nella variabile $VM.

Il secondo comando imposta una coppia chiave/valore per VM01.

Esempio 2: Impostare una chiave su un valore per una coppia chiave/valore

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

Questo comando imposta la chiave su Microsoft.Lab.Isolation.ServerVersion e il valore su 1.0.1101 per la macchina virtuale denominata VM01. Se la chiave non esiste, verrà creata con il valore specificato. Se la chiave esiste già, il relativo valore verrà sovrascritto usando il valore specificato in questo comando.

È possibile usare il cmdlet Read-SCGuestInfo per specificare la chiave e restituire il valore corrispondente.

Esempio 3: Impostare più coppie chiave/valore

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

Il primo comando ottiene l'oggetto macchina virtuale denominato Win2k8R2 e archivia l'oggetto nella variabile $VM.

Il secondo comando crea una tabella hash denominata $ValuesMap che contiene le chiavi e i valori corrispondenti per le coppie chiave/valore. I valori possono essere impostati su una stringa, una stringa vuota o $Null. L'impostazione di un valore su $Null elimina la chiave.

Il terzo comando imposta le coppie chiave/valore per la macchina virtuale denominata Win2k8R2.

L'ultimo comando legge le coppie chiave/valore per la macchina virtuale denominata Win2k8R2.

Esempio 4: Modificare un set di valori per un set di coppie chiave/valore

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

Il primo comando ottiene l'oggetto macchina virtuale denominato Win2k8R2 e archivia l'oggetto nella variabile $VM.

Il secondo comando crea una tabella hash denominata $ValuesMap che contiene le chiavi e i valori corrispondenti per le coppie chiave/valore. I valori possono essere impostati su una stringa, una stringa vuota o $Null. L'impostazione di un valore su $Null elimina la chiave.

Il terzo comando imposta le coppie chiave/valore per la macchina virtuale denominata Win2k8R2.

Il quarto comando legge le coppie chiave/valore per la macchina virtuale denominata Win2k8R2.

Il quinto comando crea una nuova tabella hash in cui una chiave specifica viene modificata in un valore diverso.

Il sesto comando imposta il valore modificato per la chiave specificata nella tabella hash.

Gli ultimi due comandi leggono le coppie chiave/valore per la macchina virtuale denominata Win2k8R2, incluso il valore modificato per la chiave Key2IsEmptyString.

Esempio 5: Eliminare una coppia chiave/valore usando due metodi

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

Il primo comando ottiene l'oggetto macchina virtuale denominato Win2k8R2 e archivia l'oggetto nella variabile $VM.

I tre comandi successivi creano due chiavi e i relativi valori e li restituiscono alla console per la macchina virtuale Win2k8R2.

Il quinto comando elimina la coppia chiave/valore Key1 chiamando Set-SCGuestInfo senza specificare il parametro value.

Il sesto e il settimo comando creano una nuova tabella Hash con Null come valore per key Key2. La chiave Key2 viene quindi eliminata chiamando il cmdlet Set-SCGuestInfo .

L'ultimo comando mostra che entrambe le chiavi create inizialmente vengono eliminate tramite due metodi distinti.

Esempio 6: Impostare più valori in cui un valore è vuoto

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

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 e archivia l'oggetto nella variabile $VM.

Il secondo comando crea una tabella hash denominata $ValuesMap 3 che contiene le chiavi e i valori corrispondenti per le coppie chiave/valore. I valori possono essere impostati su una stringa, una stringa vuota o $Null. L'impostazione di un valore su $Null elimina la chiave.

Il terzo comando imposta i valori per le chiavi specificate nella tabella hash.

L'ultimo comando legge le coppie chiave/valore per la macchina virtuale denominata VM01.

Esempio 7: Eliminare un valore e impostare un altro valore su vuoto

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

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 e archivia l'oggetto nella variabile $VM.

Il secondo comando crea una tabella hash denominata $ValuesMap 4 che contiene le chiavi e i valori corrispondenti per le coppie chiave/valore. I valori possono essere impostati su una stringa, una stringa vuota o $Null. L'impostazione di un valore su $Null elimina la chiave.

Il terzo comando imposta i valori per le chiavi specificate nella tabella hash.

Il quarto comando elimina la chiave VLSM2 e imposta la chiave VSLM1 su vuota chiamando il comando Set-SCGuestInfo .

L'ultimo comando legge le coppie chiave/valore per la macchina virtuale denominata VM01.

Esempio 8: Impostare un valore ed eliminare un altro valore

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

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 e archivia l'oggetto nella variabile $VM.

Il secondo comando crea una tabella hash denominata $ValuesMap 5 che contiene le chiavi e i valori corrispondenti per le coppie chiave/valore. I valori possono essere impostati su una stringa, una stringa vuota o $Null. L'impostazione di un valore su $Null elimina la chiave.

Il quarto comando imposta la chiave VSLM1 su "data again" ed elimina la chiave VLSM3 chiamando il comando Set-SCGuestInfo .

L'ultimo comando legge le coppie chiave/valore per la macchina virtuale denominata VM01.

Esempio 9: Ignorare l'eliminazione di chiavi che non esistono

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"

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 e archivia l'oggetto nella variabile $VM.

Il secondo comando crea una tabella hash denominata $ValuesMap 5 che contiene le chiavi e i valori corrispondenti per le coppie chiave/valore. L'impostazione di un valore su $Null elimina la chiave.

Il terzo comando imposta i valori su $Null per le chiavi specificate nella tabella hash.

L'ultimo comando elimina tutte le chiavi nella tabella hash ad eccezione di key o1ff1 chiamando il cmdlet Set-SCGuestInfo .

Parametri

-Key

Specifica la chiave in una coppia chiave/valore.

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

-KvpMap

Specifica una tabella hash di coppie chiave/valore corrispondenti ai valori esposti da Hyper-V.

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

-Value

Specifica una stringa utilizzata per attribuire un oggetto o una proprietà.

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

-VM

Specifica un oggetto macchina virtuale.

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

Output

String

Questo cmdlet restituisce un oggetto String .