Condividi tramite


New-CimInstance

Crea un'istanza CIM.

Sintassi

ClassNameComputerSet (impostazione predefinita).

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

ClassNameSessionSet

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

ResourceUriSessionSet

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

ResourceUriComputerSet

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

CimClassSessionSet

New-CimInstance
    [-CimClass] <CimClass>
    [[-Property] <IDictionary>]
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassComputerSet

New-CimInstance
    [-CimClass] <CimClass>
    [[-Property] <IDictionary>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String[]>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Descrizione

Questo cmdlet è disponibile solo nella piattaforma Windows.

Il cmdlet New-CimInstance crea un'istanza di una classe CIM basata sulla definizione della classe nel computer locale o in un computer remoto. Per impostazione predefinita, il cmdlet New-CimInstance crea un'istanza nel computer locale.

Esempio

Esempio 1: Creare un'istanza di una classe CIM

Questo esempio crea un'istanza di una classe CIM denominata Win32_Environment nello spazio dei nomi radice/CIMV2 nel computer.

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

Non viene eseguita alcuna convalida lato client se la classe non esiste, le proprietà non sono errate o se il server rifiuta la chiamata. Se l'istanza viene creata correttamente, il cmdlet restituisce l'istanza appena creata.

Esempio 2: Creare un'istanza di una classe CIM usando uno schema di classe

In questo esempio viene recuperato un oggetto classe CIM e archiviato in una variabile denominata $class. Il contenuto della variabile viene quindi passato al cmdlet New-CimInstance.

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

Esempio 3: Creare un'istanza dinamica nel client

In questo esempio viene creata un'istanza dinamica di una classe CIM denominata Win32_Process nel computer client senza ottenere l'istanza dal server. La nuova istanza viene archiviata nella variabile $a. Questa istanza dinamica può essere usata per eseguire operazioni se l'istanza con questa chiave esiste nel server.

$instance = @{
    ClassName = 'Win32_Process'
    Property = @{
        Handle = 0
    }
    Key = 'Handle'
    ClientOnly = $true
}
$a = New-CimInstance @instance

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 :

Il cmdlet Get-CimInstance recupera quindi una singola istanza specifica. Il cmdlet chiama il metodo GetOwner nell'istanza recuperata.

Esempio 4: Creare un'istanza per una classe CIM di uno spazio dei nomi specifico

Questo esempio ottiene un'istanza di una classe CIM denominata MSFT_Something nello spazio dei nomi radice/da qualche parte e la archivia in una variabile denominata $class. La variabile viene passata al cmdlet New-CimInstance per creare una nuova istanza CIM ed eseguire convalide lato client nella nuova istanza.

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

In questo esempio, usando il parametro CimClass anziché il parametro ClassName viene convalidato che Prop1 e Prop2 effettivamente presenti e che le chiavi siano contrassegnate correttamente.

Non è possibile utilizzare il parametro ComputerName o CimSession con il parametro ClientOnly.

Parametri

-CimClass

Specifica un oggetto classe CIM che rappresenta il tipo dell'istanza. Utilizzare il cmdlet Get-CimClass per recuperare la dichiarazione di classe da un computer. L'uso di questo parametro comporta una migliore convalida dello schema lato client.

Proprietà dei parametri

Tipo:CimClass
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CimClassSessionSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimClassComputerSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-CimSession

Esegue il comando usando la sessione CIM specificata. Immettere una variabile contenente la sessione CIM o un comando che crea o ottiene la sessione CIM, ad esempio i cmdlet New-CimSession o Get-CimSession. Per altre informazioni, vedere about_CimSession.

Proprietà dei parametri

Tipo:

CimSession[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ClassNameSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
ResourceUriSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimClassSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ClassName

Specifica il nome della classe CIM di cui l'operazione crea un'istanza. NOTA: è possibile usare il completamento della scheda per esplorare l'elenco delle classi, perché PowerShell ottiene un elenco di classi dal server WMI locale per fornire un elenco di nomi di classe.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ClassNameComputerSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ClassNameSessionSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-ClientOnly

Indica che l'istanza viene creata solo in PowerShell senza passare al server CIM. È possibile usare questo parametro per creare un'istanza CIM in memoria da usare nelle successive operazioni di PowerShell.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Locale

Set di parametri

ClassNameComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
ClassNameSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimClassSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimClassComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ComputerName

Specifica il nome del computer in cui si desidera eseguire l'operazione CIM. È possibile specificare un nome di dominio completo (FQDN), un nome NetBIOS o un indirizzo IP.

Se si specifica questo parametro, il cmdlet crea una sessione temporanea nel computer specificato usando il protocollo WSMan.

Se non si specifica questo parametro, il cmdlet esegue l'operazione nel computer locale usando Component Object Model (COM).

Se vengono eseguite più operazioni nello stesso computer, la connessione tramite una sessione CIM offre prestazioni migliori.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Cina, Nome del Server

Set di parametri

ClassNameComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
CimClassComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Key

Specifica le proprietà utilizzate come chiavi. Non è possibile utilizzare CimSession e ComputerName quando si specifica Key.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ClassNameComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ClassNameSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Namespace

Specifica lo spazio dei nomi della classe per la nuova istanza. Lo spazio dei nomi predefinito è root/CIMV2. È possibile utilizzare la funzione di completamento automatico per esplorare l'elenco dei namespace, poiché PowerShell ottiene l'elenco dei namespace dal server WMI locale.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ClassNameComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ClassNameSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-OperationTimeoutSec

Specifica la quantità di tempo in cui il cmdlet attende una risposta dal server CIM. Per impostazione predefinita, il valore di questo parametro è 0, il che significa che il cmdlet usa il valore di timeout predefinito per il server. Se il parametro OperationTimeoutSec è impostato su un valore inferiore al timeout di tentativo di connessione affidabile di 3 minuti, gli errori di rete che durano più del valore del parametro OperationTimeoutSec non sono recuperabili, perché l'operazione sul server si verifica il timeout prima che il client possa riconnettersi.

Proprietà dei parametri

Tipo:UInt32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:OT

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Property

Specifica le proprietà dell'istanza CIM usando una tabella hash (coppie nome-valore).

Se si specifica il parametro CimClass , il cmdlet esegue una convalida delle proprietà nel client per assicurarsi che le proprietà specificate siano coerenti con la dichiarazione di classe nel server. Se il parametro CimClass non viene specificato, la convalida della proprietà viene eseguita nel server.

Proprietà dei parametri

Tipo:IDictionary
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Argomenti

Set di parametri

(All)
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-ResourceUri

Specifica l'URI (Uniform Resource Identifier) della classe di risorse o dell'istanza di risorsa. L'URI viene usato per identificare un tipo specifico di risorsa, ad esempio dischi o processi, in un computer.

Un URI è costituito da un prefisso e da un percorso di una risorsa. Per esempio:

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

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

Per impostazione predefinita, se non si specifica questo parametro, viene utilizzato l'URI della risorsa standard DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ e vi viene aggiunto il nome della classe.

ResourceUri può essere usato solo con sessioni CIM create usando il protocollo WSMan o quando si specifica il parametro NomeComputer, che crea una sessione CIM usando WSMan. Se si specifica questo parametro senza specificare il parametro ComputerName o se si specifica una sessione CIM creata usando il protocollo DCOM, verrà visualizzato un errore perché il protocollo DCOM non supporta il parametro ResourceUri.

Se vengono specificati sia il parametro ResourceUri che il parametro Filter, il parametro Filter viene ignorato.

Proprietà dei parametri

Tipo:Uri
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ResourceUriSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriComputerSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

None

Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.

Output

CimInstance

Questo cmdlet restituisce un oggetto contenente le informazioni sull'istanza CIM.

Note

PowerShell include gli alias seguenti per New-CimInstance:

  • Windows:
    • ncim

Questo cmdlet è disponibile solo nelle piattaforme Windows.