Compartir a través de


Set-SCGuestInfo

Establece el valor asociado a una clave para un par clave-valor en un sistema operativo invitado.

Syntax

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

Description

El cmdlet Set-SCGuestInfo establece el valor asociado a una clave para un par clave-valor en un sistema operativo invitado.

Ejemplos

Ejemplo 1: Establecimiento de un único par clave-valor

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

El primer comando obtiene el objeto de máquina virtual denominado VM01 y almacena el objeto en la variable $VM.

El segundo comando establece un par clave-valor para VM01.

Ejemplo 2: Establecer una clave en un valor para un par clave-valor

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

Este comando establece la clave en Microsoft.Lab.Isolation.ServerVersion y el valor en 1.0.1101 para la máquina virtual denominada VM01. Si la clave no existe, se creará con el valor especificado. Si la clave ya existe, su valor se sobrescribirá con el valor especificado en este comando.

Puede usar el cmdlet Read-SCGuestInfo para proporcionar la clave y devolver su valor correspondiente.

Ejemplo 3: Establecer varios pares clave-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

El primer comando obtiene el objeto de máquina virtual denominado Win2k8R2 y almacena el objeto en la variable $VM.

El segundo comando crea una tabla hash denominada $ValuesMap que contiene las claves y los valores correspondientes para los pares clave-valor. Los valores se pueden establecer en una cadena, una cadena vacía o $Null. Al establecer un valor en $Null se elimina la clave.

El tercer comando establece los pares clave-valor de la máquina virtual denominada Win2k8R2.

El último comando lee los pares clave-valor de la máquina virtual denominada Win2k8R2.

Ejemplo 4: Modificación de un conjunto de valores para un conjunto de pares clave-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

El primer comando obtiene el objeto de máquina virtual denominado Win2k8R2 y almacena el objeto en la variable $VM.

El segundo comando crea una tabla hash denominada $ValuesMap que contiene las claves y los valores correspondientes para los pares clave-valor. Los valores se pueden establecer en una cadena, una cadena vacía o $Null. Al establecer un valor en $Null se elimina la clave.

El tercer comando establece los pares clave-valor de la máquina virtual denominada Win2k8R2.

El cuarto comando lee los pares clave-valor de la máquina virtual denominada Win2k8R2.

El quinto comando crea una nueva tabla hash donde se cambia una clave específica a un valor diferente.

El sexto comando establece el valor modificado para la clave especificada en la tabla hash.

Los dos últimos comandos leen los pares clave-valor de la máquina virtual denominada Win2k8R2, incluido el valor modificado para la clave Key2IsEmptyString.

Ejemplo 5: Eliminación de un par clave-valor mediante dos 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

El primer comando obtiene el objeto de máquina virtual denominado Win2k8R2 y almacena el objeto en la variable $VM.

Los tres comandos siguientes crean dos claves y sus valores y los devuelven a la consola de la máquina virtual Win2k8R2.

El quinto comando elimina el par clave-valor Key1 llamando a Set-SCGuestInfo sin especificar el parámetro value.

Los comandos sexto y séptimo crean una nueva tabla hash con Null como el valor de key Key2. A continuación, la clave Key2 se elimina llamando al cmdlet Set-SCGuestInfo .

El último comando muestra que ambas claves que se crearon inicialmente se eliminan a través de dos métodos independientes.

Ejemplo 6: Establecimiento de varios valores donde un valor está vacío

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

El primer comando obtiene el objeto de máquina virtual denominado VM01 y almacena el objeto en la variable $VM.

El segundo comando crea una tabla hash denominada $ValuesMap 3 que contiene las claves y los valores correspondientes para los pares clave-valor. Los valores se pueden establecer en una cadena, una cadena vacía o $Null. Al establecer un valor en $Null se elimina la clave.

El tercer comando establece los valores de las claves especificadas en la tabla hash.

El último comando lee los pares clave-valor de la máquina virtual denominada VM01.

Ejemplo 7: Eliminar un valor y establecer otro valor en vacío

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

El primer comando obtiene el objeto de máquina virtual denominado VM01 y almacena el objeto en la variable $VM.

El segundo comando crea una tabla hash denominada $ValuesMap 4 que contiene las claves y los valores correspondientes para los pares clave-valor. Los valores se pueden establecer en una cadena, una cadena vacía o $Null. Al establecer un valor en $Null se elimina la clave.

El tercer comando establece los valores de las claves especificadas en la tabla hash.

El cuarto comando elimina la clave VLSM2 y establece la clave VSLM1 en vacía llamando al comando Set-SCGuestInfo .

El último comando lee los pares clave-valor de la máquina virtual denominada VM01.

Ejemplo 8: Establecimiento de un valor y eliminación de otro

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

El primer comando obtiene el objeto de máquina virtual denominado VM01 y almacena el objeto en la variable $VM.

El segundo comando crea una tabla hash denominada $ValuesMap 5 que contiene las claves y los valores correspondientes para los pares clave-valor. Los valores se pueden establecer en una cadena, una cadena vacía o $Null. Al establecer un valor en $Null se elimina la clave.

El cuarto comando establece la clave VSLM1 en "data again" y elimina la clave VLSM3 llamando al comando Set-SCGuestInfo .

El último comando lee los pares clave-valor de la máquina virtual denominada VM01.

Ejemplo 9: Omitir la eliminación de claves que no existen

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"

El primer comando obtiene el objeto de máquina virtual denominado VM01 y almacena el objeto en la variable $VM.

El segundo comando crea una tabla hash denominada $ValuesMap 5 que contiene las claves y los valores correspondientes para los pares clave-valor. Al establecer un valor en $Null se elimina la clave.

El tercer comando establece los valores en $Null para las claves especificadas en la tabla hash.

El último comando elimina todas las claves de la tabla hash excepto para la clave o1ff1 llamando al cmdlet Set-SCGuestInfo .

Parámetros

-Key

Especifica la clave en un par clave-valor.

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

-KvpMap

Especifica una tabla hash de pares clave-valor correspondientes a los valores expuestos por Hyper-V.

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

-Value

Especifica una cadena utilizada para atribuir un objeto o propiedad.

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

-VM

Especifica un objeto de máquina virtual.

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

Salidas

String

Este cmdlet devuelve un objeto String .