Set-SCGuestInfo
Define o valor associado a uma chave para um par chave/valor num sistema operativo de hóspedes.
Syntax
Set-SCGuestInfo
[-VM] <VM>
-KvpMap <Hashtable>
[<CommonParameters>]
Set-SCGuestInfo
[-VM] <VM>
[-Key] <String>
[[-Value] <String>]
[<CommonParameters>]
Description
O cmdlet Set-SCGuestInfo define o valor associado a uma chave para um par chave/valor num sistema operativo de hóspedes.
Exemplos
Exemplo 1: Definir um único par de teclas/valor
PS C:\> $VM = Get-SCVirtualMachine "VM01"
PS C:\> Set-SCGuestInfo -VM $VM -Key Key -Value Value
O primeiro comando recebe o objeto da máquina virtual chamado VM01 e armazena o objeto na variável $VM.
O segundo comando define um par de chaves/valor para VM01.
Exemplo 2: Definir uma chave para um valor para um par chave/valor
PS C:\> Get-SCVirtualMachine -Name "VM01" | Set-SCGuestInfo -Key Microsoft.Lab.Isolation.ServerVersion -Value 1.0.1101
Este comando define a chave para Microsoft.Lab.Isolation.ServerVersion e o valor para 1.0.1101 para a máquina virtual chamada VM01. Se a chave não existir, será criada com o valor especificado. Se a chave já existir, o seu valor será substituído utilizando o valor especificado neste comando.
Pode utilizar o cmdlet Read-SCGuestInfo para fornecer a chave e devolver o valor correspondente.
Exemplo 3: Definir múltiplos pares de chaves/valor
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
O primeiro comando recebe o objeto de máquina virtual chamado Win2k8R2 e armazena o objeto na variável $VM.
O segundo comando cria um hashtable nomeado $ValuesMap que contém as teclas e valores correspondentes para os pares chave/valor. Os valores podem ser definidos para uma corda, uma corda vazia ou $Null. Definir um valor para $Null elimina a chave.
O terceiro comando define os pares de chaves/valor para a máquina virtual chamada Win2k8R2.
O último comando lê os pares chave/valor para a máquina virtual chamada Win2k8R2.
Exemplo 4: Modificar um conjunto de valores para um conjunto de pares chave/valor
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
O primeiro comando recebe o objeto de máquina virtual chamado Win2k8R2 e armazena o objeto na variável $VM.
O segundo comando cria um hashtable nomeado $ValuesMap que contém as teclas e valores correspondentes para os pares chave/valor. Os valores podem ser definidos para uma corda, uma corda vazia ou $Null. Definir um valor para $Null elimina a chave.
O terceiro comando define os pares de chaves/valor para a máquina virtual chamada Win2k8R2.
O quarto comando lê os pares chave/valor para a máquina virtual chamada Win2k8R2.
O quinto comando cria um novo haxixe onde uma chave específica é alterada para um valor diferente.
O sexto comando define o valor modificado para a chave especificada no haxixe.
Os dois últimos comandos lêem os pares chave/valor para a máquina virtual chamada Win2k8R2, incluindo o valor modificado para a chave Key2IsEmptyString.
Exemplo 5: Eliminar um par de chaves/valor usando dois métodos
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
O primeiro comando recebe o objeto de máquina virtual chamado Win2k8R2 e armazena o objeto na variável $VM.
Os próximos três comandos criam duas teclas e os seus valores e devolvem-nas à consola para a máquina virtual Win2k8R2.
O quinto comando elimina a chave/par de valor Key1, ligando para o Set-SCGuestInfo sem especificar o parâmetro de valor.
Os comandos do sexto e sétimo criam um novo Hashtable com Null como o valor para key2. Em seguida, a chave Key2 é eliminada chamando o cmdlet Set-SCGuestInfo .
O último comando mostra que ambas as teclas que foram inicialmente criadas são agora eliminadas através de dois métodos separados.
Exemplo 6: Definir vários valores onde um valor está vazio
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
O primeiro comando recebe o objeto da máquina virtual chamado VM01 e armazena o objeto na variável $VM.
O segundo comando cria um hashtable nomeado $ValuesMap 3 que contém as teclas e valores correspondentes para os pares chave/valor. Os valores podem ser definidos para uma corda, uma corda vazia ou $Null. Definir um valor para $Null elimina a chave.
O terceiro comando define os valores das teclas especificadas no haxixe.
O último comando lê os pares de chaves/valor para a máquina virtual chamada VM01.
Exemplo 7: Eliminar um valor e definir outro valor para esvaziar
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
O primeiro comando recebe o objeto da máquina virtual chamado VM01 e armazena o objeto na variável $VM.
O segundo comando cria um hashtable chamado $ValuesMap 4 que contém as teclas e valores correspondentes para os pares chave/valor. Os valores podem ser definidos para uma corda, uma corda vazia ou $Null. Definir um valor para $Null elimina a chave.
O terceiro comando define os valores das teclas especificadas no haxixe.
O quarto comando elimina a tecla VLSM2 e define a chave VSLM1 para esvaziar, chamando o comando Set-SCGuestInfo .
O último comando lê os pares de chaves/valor para a máquina virtual chamada VM01.
Exemplo 8: Definir um valor e apagar outro valor
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
O primeiro comando recebe o objeto da máquina virtual chamado VM01 e armazena o objeto na variável $VM.
O segundo comando cria um hashtable denominado $ValuesMap 5 que contém as teclas e valores correspondentes para os pares chave/valor. Os valores podem ser definidos para uma corda, uma corda vazia ou $Null. Definir um valor para $Null elimina a chave.
O quarto comando define a tecla VSLM1 para "dados novamente" e elimina a chave VLSM3, chamando o comando Set-SCGuestInfo .
O último comando lê os pares de chaves/valor para a máquina virtual chamada VM01.
Exemplo 9: Ignorar a supressão das chaves que não existem
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"
O primeiro comando recebe o objeto da máquina virtual chamado VM01 e armazena o objeto na variável $VM.
O segundo comando cria um hashtable denominado $ValuesMap 5 que contém as teclas e valores correspondentes para os pares chave/valor. Definir um valor para $Null elimina a chave.
O terceiro comando define os valores para $Null para as teclas especificadas no haxixe.
O último comando elimina todas as teclas do haxixe, exceto a chave o1ff1, chamando o cmdlet Set-SCGuestInfo .
Parâmetros
-Key
Especifica a chave num par chave/valor.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KvpMap
Especifica uma tabela de haxixe de pares de chaves/valor correspondentes aos valores expostos por Hyper-V.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Especifica uma cadeia usada para atribuir um objeto ou propriedade.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Especifica um objeto de máquina virtual.
Type: | VM |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Saídas
String
Este cmdlet devolve um objeto de corda .