Partilhar via


Set-SCGuestInfo

Define o valor associado a uma chave para um par chave/valor em um sistema operacional convidado.

Sintaxe

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 em um sistema operacional convidado.

Exemplos

Exemplo 1: Definir um único par chave/valor

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

O primeiro comando obtém o objeto de máquina virtual chamado VM01 e armazena o objeto na variável $VM.

O segundo comando define um par chave/valor para VM01.

Exemplo 2: Definir uma chave como 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 como Microsoft.Lab.Isolation.ServerVersion e o valor como 1.0.1101 para a máquina virtual chamada VM01. Se a chave não existir, ela será criada com o valor especificado. Se a chave já existir, seu valor será substituído usando o valor especificado neste comando.

Você pode usar o cmdlet Read-SCGuestInfo para fornecer a chave e retornar seu valor correspondente.

Exemplo 3: Definir vários 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

O primeiro comando obtém o objeto de máquina virtual chamado Win2k8R2 e armazena o objeto na variável $VM.

O segundo comando cria uma hashtable chamada $ValuesMap que contém as chaves e valores correspondentes para os pares chave/valor. Os valores podem ser definidos como uma cadeia de caracteres, uma cadeia de caracteres vazia ou $Null. Definir um valor como $Null exclui a chave.

O terceiro comando define os pares chave/valor para a máquina virtual chamada Win2k8R2.

O último comando lê de volta 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 obtém o objeto de máquina virtual chamado Win2k8R2 e armazena o objeto na variável $VM.

O segundo comando cria uma hashtable chamada $ValuesMap que contém as chaves e valores correspondentes para os pares chave/valor. Os valores podem ser definidos como uma cadeia de caracteres, uma cadeia de caracteres vazia ou $Null. Definir um valor como $Null exclui a chave.

O terceiro comando define os pares chave/valor para a máquina virtual chamada Win2k8R2.

O quarto comando lê de volta os pares chave/valor para a máquina virtual chamada Win2k8R2.

O quinto comando cria uma nova hashtable onde uma chave específica é alterada para um valor diferente.

O sexto comando define o valor modificado para a chave especificada na hashtable.

Os dois últimos comandos leem de volta os pares chave/valor para a máquina virtual chamada Win2k8R2, incluindo o valor modificado para a chave Key2IsEmptyString.

Exemplo 5: Excluir um par chave/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 obtém o objeto de máquina virtual chamado Win2k8R2 e armazena o objeto na variável $VM.

Os próximos três comandos criam duas chaves e seus valores e os retornam ao console da máquina virtual Win2k8R2.

O quinto comando exclui o par chave/valor Key1 chamando Set-SCGuestInfo sem especificar o parâmetro value.

O sexto e sétimo comandos criam uma nova Hashtable com Null como o valor para a chave Key2. Em seguida, a chave Key2 é excluída chamando o cmdlet Set-SCGuestInfo.

O último comando mostra que ambas as chaves que foram inicialmente criadas agora são excluídas por meio 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 obtém o objeto de máquina virtual chamado VM01 e armazena o objeto na variável $VM.

O segundo comando cria uma hashtable chamada $ValuesMap 3 que contém as chaves e valores correspondentes para os pares chave/valor. Os valores podem ser definidos como uma cadeia de caracteres, uma cadeia de caracteres vazia ou $Null. Definir um valor como $Null exclui a chave.

O terceiro comando define os valores para as chaves especificadas na hashtable.

O último comando lê de volta os pares chave/valor para a máquina virtual chamada VM01.

Exemplo 7: Excluir um valor e definir outro valor como vazio

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 obtém o objeto de máquina virtual chamado VM01 e armazena o objeto na variável $VM.

O segundo comando cria uma hashtable chamada $ValuesMap 4 que contém as chaves e valores correspondentes para os pares chave/valor. Os valores podem ser definidos como uma cadeia de caracteres, uma cadeia de caracteres vazia ou $Null. Definir um valor como $Null exclui a chave.

O terceiro comando define os valores para as chaves especificadas na hashtable.

O quarto comando exclui a chave VLSM2 e define a chave VSLM1 como vazia chamando o comando Set-SCGuestInfo.

O último comando lê de volta os pares chave/valor para a máquina virtual chamada VM01.

Exemplo 8: Definir um valor e excluir 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 obtém o objeto de máquina virtual chamado VM01 e armazena o objeto na variável $VM.

O segundo comando cria uma hashtable chamada $ValuesMap 5 que contém as chaves e valores correspondentes para os pares chave/valor. Os valores podem ser definidos como uma cadeia de caracteres, uma cadeia de caracteres vazia ou $Null. Definir um valor como $Null exclui a chave.

O quarto comando define a chave VSLM1 como "dados novamente" e exclui a chave VLSM3 chamando o comando Set-SCGuestInfo.

O último comando lê de volta os pares chave/valor para a máquina virtual chamada VM01.

Exemplo 9: Ignorar a exclusão de 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 obtém o objeto de máquina virtual chamado VM01 e armazena o objeto na variável $VM.

O segundo comando cria uma hashtable chamada $ValuesMap 5 que contém as chaves e valores correspondentes para os pares chave/valor. Definir um valor como $Null exclui a chave.

O terceiro comando define os valores a $Null para as chaves especificadas na hashtable.

O último comando exclui todas as chaves na hashtable, exceto a chave o1ff1, chamando o cmdlet Set-SCGuestInfo.

Parâmetros

-Key

Especifica a chave em um par chave/valor.

Tipo:String
Position:1
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-KvpMap

Especifica uma tabela de hash de pares chave/valor correspondentes aos valores expostos pelo Hyper-V.

Tipo:Hashtable
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Value

Especifica uma cadeia de caracteres usada para atribuir um objeto ou propriedade.

Tipo:String
Position:2
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-VM

Especifica um objeto de máquina virtual.

Tipo:VM
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

Saídas

String

Este cmdlet retorna um objeto String.