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
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 riportano 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 Hashtable 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 separati.
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 delle 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 della chiave o1ff1 chiamando il cmdlet Set-SCGuestInfo.
Parametri
-Key
Specifica la chiave in una coppia chiave/valore.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-KvpMap
Specifica una tabella hash di coppie chiave/valore corrispondenti ai valori esposti da Hyper-V.
Tipo: | Hashtable |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Value
Specifica una stringa utilizzata per attribuire un oggetto o una proprietà.
Tipo: | String |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-VM
Specifica un oggetto macchina virtuale.
Tipo: | VM |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Output
String
Questo cmdlet restituisce un oggetto string