New-CimInstance
Crea un'istanza CIM.
Sintassi
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>]
Descrizione
Questo cmdlet è disponibile solo nella piattaforma Windows.
Il New-CimInstance
cmdlet crea un'istanza di una classe CIM basata sulla definizione della classe nel computer locale o in un computer remoto. Per impostazione predefinita, il New-CimInstance
cmdlet 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 root/cimv2 nel computer.
New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}
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 New-CimInstance
cmdlet .
$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}
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.
$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 :
Il Get-CimInstance
cmdlet recupera quindi una singola istanza specifica. Il Invoke-CimMethod
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 nella radice dello spazio dei nomi o in un punto qualsiasi e la archivia in una variabile denominata $class
. La variabile viene passata al New-CimInstance
cmdlet 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, l'uso del parametro CimClass anziché del parametro ClassName convalida che Prop1 e Prop2 esistano effettivamente 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. Usare il Get-CimClass
cmdlet per recuperare la dichiarazione di classe da un computer. L'uso di questo parametro comporta una migliore convalida dello schema lato client.
Tipo: | CimClass |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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 New-CimSession
cmdlet o Get-CimSession
. Per altre informazioni, vedere about_CimSession.
Tipo: | CimSession[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | SwitchParameter |
Alias: | Local |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Alias: | CN, ServerName |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Key
Specifica le proprietà utilizzate come chiavi. Non è possibile usare CimSession e ComputerName quando si specifica Key .
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Namespace
Specifica lo spazio dei nomi della classe per la nuova istanza. Lo spazio dei nomi predefinito è root/cimv2. È possibile usare il completamento della scheda per esplorare l'elenco degli spazi dei nomi, perché PowerShell ottiene un elenco di spazi dei nomi dal server WMI locale per fornire l'elenco degli spazi dei nomi.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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 scade prima che il client possa riconnettersi.
Tipo: | UInt32 |
Alias: | OT |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Property
Specifica le proprietà dell'istanza CIM usando una tabella hash (coppie nome-valore).
Se si specifica il parametro CimClass , il New-CimInstance
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.
Tipo: | IDictionary |
Alias: | Arguments |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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 i dischi o i processi, in un computer specifico.
Un URI è costituito da un prefisso e un percorso di una risorsa. Ad 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 usato l'URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
della risorsa standard DMTF e il nome della classe viene aggiunto.
ResourceURI può essere usato solo con le sessioni CIM create usando il protocollo WSMan o quando si specifica il parametro ComputerName , 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.
Tipo: | Uri |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
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.