New-CimInstance

Cria uma instância 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

Esse cmdlet só está disponível na plataforma Windows.

O New-CimInstance cmdlet cria uma instância de uma classe CIM com base na definição de classe no computador local ou em um computador remoto. Por padrão, o New-CimInstance cmdlet cria uma instância no computador local.

Exemplos

Exemplo 1: Criar uma instância de uma classe CIM

Este exemplo cria uma instância de uma classe CIM chamada win32_environment no namespace root/cimv2 no computador.

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

Nenhuma validação do lado do cliente será executada se a classe não existir, as propriedades estiverem erradas ou se o servidor rejeitar a chamada. Se a instância for criada com êxito, o cmdlet produzirá a instância recém-criada.

Exemplo 2: Criar uma instância de uma classe CIM usando um esquema de classe

Este exemplo recupera um objeto de classe CIM e o armazena em uma variável chamada $class. O conteúdo da variável é então passado para o New-CimInstance cmdlet.

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

Exemplo 3: Criar uma instância dinâmica no cliente

Este exemplo cria uma instância dinâmica de uma classe CIM chamada Win32_Process no computador cliente sem obter a instância do servidor. A nova instância é armazenada na variável $a. Essa instância dinâmica pode ser usada para executar operações se a instância com essa chave existir no 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 :

Em Get-CimInstance seguida, o cmdlet recupera uma única instância específica. O Invoke-CimMethod cmdlet chama o método GetOwner na instância recuperada.

Exemplo 4: Criar uma instância para uma classe CIM de um namespace específico

Este exemplo obtém uma instância de uma classe CIM chamada MSFT_Something na raiz do namespace /somewhere e a armazena em uma variável chamada $class. A variável é passada para o New-CimInstance cmdlet para criar uma nova instância CIM e executar validações do lado do cliente na nova instância.

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

Neste exemplo, usar o parâmetro CimClass em vez do parâmetro ClassName valida que Prop1 e Prop2 realmente existem e que as chaves estão marcadas corretamente.

Não é possível usar o parâmetro ComputerName ou CimSession com o parâmetro ClientOnly .

Parâmetros

-CimClass

Especifica um objeto de classe CIM que representa o tipo da instância. Use o Get-CimClass cmdlet para recuperar a declaração de classe de um computador. O uso desse parâmetro resulta em melhores validações de esquema do lado do cliente.

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

-CimSession

Executa o comando usando a sessão CIM especificada. Insira uma variável que contenha a sessão CIM ou um comando que crie ou obtenha a sessão CIM, como os New-CimSession cmdlets ou Get-CimSession . Para obter mais informações, consulte about_CimSession.

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

-ClassName

Especifica o nome da classe CIM da qual a operação cria uma instância. Observação : você pode usar a conclusão de tabulação para procurar a lista de classes, porque o PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classe.

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

-ClientOnly

Indica que a instância só é criada no PowerShell sem ir para o servidor CIM. Você pode usar esse parâmetro para criar uma instância CIM na memória para uso em operações subsequentes do PowerShell.

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

-ComputerName

Especifica o nome do computador no qual você deseja executar a operação CIM. Você pode especificar um FQDN (nome de domínio totalmente qualificado), um nome NetBIOS ou um endereço IP.

Se você especificar esse parâmetro, o cmdlet criará uma sessão temporária para o computador especificado usando o protocolo WSMan.

Se você não especificar esse parâmetro, o cmdlet executará a operação no computador local usando o COM (Component Object Model).

Se várias operações estiverem sendo executadas no mesmo computador, a conexão usando uma sessão CIM proporcionará melhor desempenho.

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

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

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

-Key

Especifica as propriedades que são usadas como chaves. CimSession e ComputerName não podem ser usados quando Key é especificado.

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

-Namespace

Especifica o namespace da classe para a nova instância. O namespace padrão é root/cimv2. Você pode usar a conclusão de tabulação para procurar a lista de namespaces, porque o PowerShell obtém uma lista de namespaces do servidor WMI local para fornecer a lista de namespaces.

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

-OperationTimeoutSec

Especifica a quantidade de tempo que o cmdlet aguarda uma resposta do servidor CIM. Por padrão, o valor desse parâmetro é 0, o que significa que o cmdlet usa o valor de tempo limite padrão para o servidor. Se o parâmetro OperationTimeoutSec for definido como um valor menor que o tempo limite de repetição de conexão robusto de 3 minutos, as falhas de rede que duram mais do que o valor do parâmetro OperationTimeoutSec não serão recuperáveis, porque a operação no servidor expira antes que o cliente possa se reconectar.

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

-Property

Especifica as propriedades da instância CIM usando uma tabela de hash (pares nome-valor).

Se você especificar o parâmetro CimClass , o New-CimInstance cmdlet executará uma validação de propriedade no cliente para garantir que as propriedades especificadas sejam consistentes com a declaração de classe no servidor. Se o parâmetro CimClass não for especificado, a validação da propriedade será feita no servidor.

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

-ResourceUri

Especifica o URI (identificador uniforme de recursos) do recurso da classe ou instância do recurso. O URI é utilizado para identificar um tipo específico de recurso, como discos ou processos em um computador.

Um URI consiste em um prefixo e um caminho para um recurso. Por exemplo:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Por padrão, se você não especificar esse parâmetro, o URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ do recurso padrão DMTF será usado e o nome da classe será anexado a ele.

ResourceURI só pode ser usado com sessões CIM criadas usando o protocolo WSMan ou ao especificar o parâmetro ComputerName, que cria uma sessão CIM usando WSMan. Se você especificar esse parâmetro sem especificar o parâmetro ComputerName ou se especificar uma sessão CIM criada usando o protocolo DCOM, você obterá um erro, porque o protocolo DCOM não oferece suporte ao parâmetro ResourceURI.

Se o parâmetro ResourceUri e o parâmetro Filter forem especificados, o parâmetro Filter será ignorado.

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

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

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

Entradas

None

Não é possível canalizar objetos para esse cmdlet.

Saídas

CimInstance

Esse cmdlet retorna um objeto que contém as informações da instância do CIM.

Observações

O PowerShell inclui os seguintes aliases para New-CimInstance:

  • Windows:
    • ncim

Esse cmdlet só está disponível em plataformas Windows.