O cmdlet New-CimInstance cria uma instância de uma classe CIM com base na definição de classe no computador local ou remoto. Por padrão, o cmdlet New-CimInstance 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.
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 é passado para o cmdlet New-CimInstance.
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.
ProcessId Name HandleCount WorkingSetSize VirtualSize
--------- ---- ----------- -------------- -----------
0 System Idle Process 0 8192 8192
Domain :
ReturnValue : 2
User :
PSComputerName :
Em seguida, o cmdlet Get-CimInstance recupera uma única instância específica. O cmdlet Invoke-CimMethod 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 no namespace root/somewhere e a armazena em uma variável chamada $class. A variável é passada para o cmdlet New-CimInstance para criar uma nova instância do CIM e executar validações do lado do cliente na nova instância.
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 o parâmetro CimSession com o parâmetro ClientOnly.
Parâmetros
-CimClass
Especifica um objeto de classe CIM que representa o tipo da instância. Use o cmdlet Get-CimClass 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.
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 cmdlets New-CimSession ou Get-CimSession. Para obter mais informações, consulte about_CimSession.
Especifica o nome da classe CIM da qual a operação cria uma instância. Nota: Pode utilizar a conclusão automática com a tecla Tab para explorar a lista de classes, pois o PowerShell obtém uma lista de classes do servidor WMI local para apresentar uma lista de nomes de classe.
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.
Especifica o nome do computador no qual você deseja executar a operação CIM. Você pode especificar um nome de domínio totalmente qualificado (FQDN), 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á um melhor desempenho.
Especifica o namespace da classe para a nova instância. O namespace padrão é root/CIMV2.
Você pode usar o preenchimento de guias 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.
Especifica a quantidade de tempo que o cmdlet aguarda por 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 inferior ao 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.
Especifica as propriedades da instância do CIM usando uma tabela de hash (pares nome-valor).
Se você especificar o parâmetro CimClass, o cmdlet New-CimInstance 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.
Especifica o URI (identificador uniforme de recurso) da classe ou instância do recurso. O URI é usado 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:
Por padrão, se você não especificar esse parâmetro, o http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ URI de 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, receberá um erro, porque o protocolo DCOM não suporta o parâmetro ResourceUri.
Se o parâmetro ResourceUri e o parâmetro Filter forem especificados, o parâmetro Filter será ignorado.
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Não é possível canalizar objetos para este cmdlet.
A fonte deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever issues e pull requests. Para mais informações, consulte o nosso guia para colaboradores.