Compartir a través de


New-CimInstance

Crea una instancia cim.

Syntax

New-CimInstance
   [-ClassName] <String>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-ClassName] <String>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   -ResourceUri <Uri>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   -ResourceUri <Uri>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-CimClass] <CimClass>
   [[-Property] <IDictionary>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-CimClass] <CimClass>
   [[-Property] <IDictionary>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

El New-CimInstance cmdlet crea una instancia de una clase CIM basada en la definición de clase en el equipo local o en un equipo remoto. De forma predeterminada, el New-CimInstance cmdlet crea una instancia en el equipo local.

Ejemplos

Ejemplo 1: Creación de una instancia de una clase CIM

En este ejemplo se crea una instancia de una clase CIM denominada win32_environment en el espacio de nombres root/cimv2 del equipo.

New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}

No se realiza ninguna validación del lado cliente si la clase no existe, las propiedades son incorrectas o si el servidor rechaza la llamada. Si la instancia se crea correctamente, el cmdlet genera la instancia recién creada.

Ejemplo 2: Creación de una instancia de una clase CIM mediante un esquema de clase

En este ejemplo se recupera un objeto de clase CIM y se almacena en una variable denominada $class. A continuación, el contenido de la variable se pasa al New-CimInstance cmdlet .

$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}

Ejemplo 3: Creación de una instancia dinámica en el cliente

En este ejemplo se crea una instancia dinámica de una clase CIM denominada Win32_Process en el equipo cliente sin obtener la instancia del servidor. La nueva instancia se almacena en la variable $a. Esta instancia dinámica se puede usar para realizar operaciones si la instancia con esta clave existe en el servidor.

$a = New-CimInstance -ClassName Win32_Process -Property @{Handle=0} -Key Handle -ClientOnly
Get-CimInstance -CimInstance $a
Invoke-CimMethod -CimInstance $a -MethodName GetOwner

ProcessId Name                HandleCount WorkingSetSize VirtualSize
--------- ----                ----------- -------------- -----------
0         System Idle Process 0           8192           8192

Domain         :
ReturnValue    : 2
User           :
PSComputerName :

A continuación, el Get-CimInstance cmdlet recupera una única instancia determinada. El Invoke-CimMethod cmdlet llama al método GetOwner en la instancia recuperada.

Ejemplo 4: Creación de una instancia para una clase CIM de un espacio de nombres específico

En este ejemplo se obtiene una instancia de una clase CIM denominada MSFT_Something en la raíz o en algún lugar del espacio de nombres y la almacena en una variable denominada $class . La variable se pasa al New-CimInstance cmdlet para crear una nueva instancia cim y realizar validaciones del lado cliente en la nueva instancia.

$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly

En este ejemplo, el uso del parámetro CimClass en lugar del parámetro ClassName valida que Prop1 y Prop2 existen realmente y que las claves están marcadas correctamente.

No puede usar el parámetro ComputerName o CimSession con el parámetro ClientOnly .

Parámetros

-CimClass

Especifica un objeto de clase CIM que representa el tipo de la instancia. Use el Get-CimClass cmdlet para recuperar la declaración de clase de un equipo. El uso de este parámetro da como resultado mejores validaciones de esquema del lado cliente.

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

-CimSession

Ejecuta el comando mediante la sesión CIM especificada. Escriba una variable que contenga la sesión CIM o un comando que cree o obtenga la sesión CIM, como los New-CimSession cmdlets o Get-CimSession . Para obtener más información, consulte about_CimSession.

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

-ClassName

Especifica el nombre de la clase CIM de la que la operación crea una instancia. NOTA: Puede usar la finalización de pestañas para examinar la lista de clases, ya que PowerShell obtiene una lista de clases del servidor WMI local para proporcionar una lista de nombres de clase.

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

-ClientOnly

Indica que la instancia solo se crea en PowerShell sin ir al servidor CIM. Puede usar este parámetro para crear una instancia CIM en memoria para usarla en las operaciones posteriores de PowerShell.

Type:SwitchParameter
Aliases:Local
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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), un nombre NetBIOS o una dirección IP.

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

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

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:True
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

-Key

Especifica las propiedades que se usan como claves. CimSession y ComputerName no se pueden usar cuando se especifica Key .

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

-Namespace

Especifica el espacio de nombres de la clase para la nueva instancia. 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 servidor CIM. 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

-Property

Especifica las propiedades de la instancia CIM mediante una tabla hash (pares nombre-valor).

Si especifica el parámetro CimClass , el New-CimInstance cmdlet realiza una validación de propiedades en el cliente para asegurarse de que las propiedades especificadas son coherentes con la declaración de clase en el servidor. Si no se especifica el parámetro CimClass , la validación de propiedades se realiza en el servidor.

Type:IDictionary
Aliases:Arguments
Position:1
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:True
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

None

No se pueden canalizar objetos a este cmdlet.

Salidas

CimInstance

Este cmdlet devuelve un objeto que contiene la información de la instancia CIM.

Notas

PowerShell incluye los siguientes alias para New-CimInstance:

  • Windows:
    • ncim

Este cmdlet solo está disponible en plataformas Windows.