Compartir a través de


Set-CimInstance

Modifica una instancia CIM en un servidor CIM llamando al método ModifyInstance de la clase CIM.

Syntax

Set-CimInstance
   [-ComputerName <String[]>]
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

Este cmdlet modifica una instancia CIM en un servidor CIM.

Si no se especifica el parámetro InputObject , el cmdlet funciona de una de las maneras siguientes:

  • Si no se especifica el parámetro ComputerName ni el parámetro CimSession , este cmdlet funciona en la sesión local de Instrumental de administración de Windows (WMI) mediante una sesión del modelo de objetos componentes (COM).
  • Si se especifica el parámetro ComputerName o el parámetro CimSession, este cmdlet funciona con el servidor CIM especificado por el parámetro ComputerName o el parámetro CimSession.

Si se especifica el parámetro InputObject , el cmdlet funciona de una de las maneras siguientes:

  • Si no se especifica el parámetro ComputerName ni el parámetro CimSession , este cmdlet usa la sesión CIM o el nombre de equipo del objeto de entrada.
  • Si se especifica el parámetro ComputerName o el parámetro CimSession , este cmdlet usa el valor del parámetro CimSession o el valor del parámetro ComputerName . Esto no es muy común.

Ejemplos

Ejemplo 1: Establecimiento de la instancia CIM

En este ejemplo se establece el valor de la propiedad VariableValue en abcd mediante el parámetro Query . Puede modificar instancias que coincidan con una consulta del lenguaje de consulta de Instrumental de administración de Windows (WQL).

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}

Ejemplo 2: Establecimiento de la propiedad de instancia CIM mediante la canalización

En este ejemplo se recupera el objeto de instancia CIM filtrado por el parámetro Query mediante el Get-CimInstance cmdlet . El Set-CimInstance cmdlet modifica el valor de la propiedad VariableValue a abcd.

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
  Set-CimInstance -Property @{VariableValue="abcd"}

Ejemplo 3: Establecimiento de la propiedad de instancia CIM mediante el objeto de entrada

$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru

En este ejemplo se recuperan los objetos de instancia CIM filtrados por el parámetro Query en en una variable $x mediante Get-CimInstancey, a continuación, se pasa el contenido de la variable al Set-CimInstance cmdlet . Set-CimInstance a continuación, modifica la propiedad VariableValue a somevalue. Dado que se usa el parámetro Passthru , en este ejemplo se devuelve un objeto de instancia CIM modificado.

Ejemplo 4: Establecimiento de la propiedad de instancia CIM

En este ejemplo se recupera el objeto de instancia CIM especificado en el parámetro Query en una variable $x mediante el Get-CimInstance cmdlet y se cambia el valor de la propiedad VariableValue del objeto que se va a cambiar. A continuación, el objeto de instancia CIM se guarda mediante el Set-CimInstance cmdlet . Dado que se usa el parámetro Passthru , en este ejemplo se devuelve un objeto de instancia CIM modificado.

$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru

Ejemplo 5: Mostrar la lista de instancias CIM que se van a modificar mediante WhatIf

En este ejemplo se usa el parámetro común WhatIf para especificar que no se debe realizar la modificación, sino solo generar lo que sucedería si se hiciera.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf

Ejemplo 6: Establecimiento de la instancia CIM después de la confirmación del usuario

En este ejemplo se usa el parámetro común Confirm para especificar que la modificación debe realizarse solo después de la confirmación del usuario.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm

Ejemplo 7: Establecimiento de la instancia CIM creada

En este ejemplo se crea una instancia CIM con las propiedades especificadas mediante el New-CimInstance cmdlet y se recupera su contenido en en una variable $x. A continuación, la variable se pasa al Set-CimInstance cmdlet , que modifica el valor de la propiedad VariableValue a somevalue. Dado que se usa el parámetro Passthru , en este ejemplo se devuelve un objeto de instancia CIM modificado.

$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Key Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru

Parámetros

-CimSession

Ejecuta los cmdlets en un equipo remoto. Escriba un nombre de equipo o un objeto de sesión, como la salida de un New-CimSession cmdlet o Get-CimSession .

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

Especifica el nombre del equipo en el que desea ejecutar la operación CIM. Puede especificar un nombre de dominio completo (FQDN) o un nombre NetBIOS.

Si no especifica este parámetro, el cmdlet realiza la operación en el equipo local mediante el modelo de objetos componentes (COM).

Si especifica este parámetro, el cmdlet crea una sesión temporal en el equipo especificado mediante el protocolo WsMan.

Si se realizan varias operaciones en el mismo equipo, la conexión mediante una sesión CIM proporciona un mejor rendimiento.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Especifica un objeto de instancia CIM que se va a usar como entrada.

El parámetro InputObject no enumera las colecciones. Si se pasa una colección, se produce un error. Al trabajar con colecciones, canalice la entrada para enumerar los valores.

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

-Namespace

Especifica el espacio de nombres para la operación CIM. El espacio de nombres predeterminado es root/cimv2. Puede usar la finalización de tabulación para examinar la lista de espacios de nombres, ya que PowerShell obtiene una lista de espacios de nombres del servidor WMI local para proporcionar la lista de espacios de nombres.

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

-OperationTimeoutSec

Especifica la cantidad de tiempo que el cmdlet espera una respuesta del equipo. De forma predeterminada, el valor de este parámetro es 0, lo que significa que el cmdlet usa el valor de tiempo de espera predeterminado para el servidor.

Si el parámetro OperationTimeoutSec se establece en un valor menor que el tiempo de espera de reintento de conexión sólido de 3 minutos, los errores de red que duran más que el valor del parámetro OperationTimeoutSec no se pueden recuperar, ya que la operación en el servidor agota el tiempo de espera antes de que el cliente pueda volver a conectarse.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Devuelve un objeto que representa el elemento con el que está trabajando. De forma predeterminada, este cmdlet no genera ningún resultado.

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

-Property

Especifica las propiedades de la instancia CIM como una tabla hash (mediante pares nombre-valor). Solo se cambian las propiedades especificadas con este parámetro. No se cambian otras propiedades de la instancia CIM.

Type:IDictionary
Aliases:Arguments
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Query

Especifica una consulta que se va a ejecutar en el servidor CIM para recuperar las instancias CIM en las que se va a ejecutar el cmdlet. Puede especificar el dialecto de consulta mediante el parámetro QueryDialect.

Si el valor especificado contiene comillas dobles ("), comillas simples (') o una barra diagonal inversa (\), debe escapar esos caracteres prefijos con el carácter de barra diagonal inversa (\). Si el valor especificado usa el operador WQL LIKE, debe escapar los caracteres siguientes entre corchetes (): porcentaje (%[]), subrayado () o corchetes de apertura (_[).

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

-QueryDialect

Especifica el lenguaje de consulta usado para el parámetro Query. Los valores aceptables para este parámetro son: WQL o CQL. El valor predeterminado es WQL.

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

-ResourceUri

Especifica el identificador uniforme de recursos (URI) del recurso de la clase o instancia de recursos. El URI se usa para identificar un tipo de recurso en un equipo, como discos o procesos.

Un URI consta de un prefijo y una ruta de acceso a un recurso. Por ejemplo:

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

De forma predeterminada, si no especifica este parámetro, se usa el URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ del recurso estándar DMTF y el nombre de clase se anexa a él.

ResourceURI solo se puede usar con sesiones CIM creadas mediante el protocolo WSMan o al especificar el parámetro ComputerName, que crea una sesión CIM mediante WSMan. Si especifica este parámetro sin especificar el parámetro ComputerName o si especifica una sesión CIM creada mediante el protocolo DCOM, obtendrá un error, ya que el protocolo DCOM no admite el parámetro ResourceURI.

Si se especifican tanto el parámetro ResourceUri como el parámetro Filter, se omite el parámetro Filter.

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

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

CimInstance

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

CimInstance

Cuando se usa el parámetro Passthru , este cmdlet devuelve el objeto de instancia CIM modificado.

Notas

PowerShell incluye los siguientes alias para Set-CimInstance:

  • Windows:
    • scim

Este cmdlet solo está disponible en plataformas Windows.