Get-CimInstance
Ottiene le istanze CIM di una classe da un server CIM.
Sintassi
Get-CimInstance
[-ClassName] <String>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
-ResourceUri <Uri>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ClassName] <String>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
-ResourceUri <Uri>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Descrizione
Questo cmdlet è disponibile solo nella piattaforma Windows.
Il Get-CimInstance
cmdlet ottiene le istanze CIM di una classe da un server CIM. È possibile specificare il nome della classe o una query per questo cmdlet. Questo cmdlet restituisce uno o più oggetti istanza CIM che rappresentano uno snapshot delle istanze CIM presenti nel server CIM.
Se il parametro InputObject non viene specificato, il cmdlet funziona in uno dei modi seguenti:
- Se non viene specificato né il parametro ComputerName né il parametro CimSession , questo cmdlet funziona in Strumentazione gestione Windows locale (WMI) usando una sessione COM (Component Object Model).
- Se viene specificato il parametro ComputerName o il parametro CimSession, questo cmdlet funziona sul server CIM specificato dal parametro ComputerName o dal parametro CimSession.
Se si specifica il parametro InputObject , il cmdlet funziona in uno dei modi seguenti:
- Se non viene specificato né il parametro ComputerName né il parametro CimSession , questo cmdlet usa la sessione CIM o il nome del computer dall'oggetto di input.
- Se viene specificato il parametro ComputerName o il parametro CimSession, questo cmdlet usa il valore del parametro CimSession o il valore del parametro ComputerName.
Esempio
Esempio 1: Ottenere le istanze CIM di una classe specificata
In questo esempio vengono recuperate le istanze CIM di una classe denominata Win32_Process.
Get-CimInstance -ClassName Win32_Process
Esempio 2: Ottenere un elenco di spazi dei nomi da un server WMI
In questo esempio viene recuperato un elenco di spazi dei nomi nello spazio dei nomi Radice in un server WMI.
Get-CimInstance -Namespace root -ClassName __Namespace
Esempio 3: Ottenere istanze di una classe filtrata usando una query
In questo esempio vengono recuperate tutte le istanze CIM che iniziano con la lettera P di una classe denominata Win32_Process usando la query specificata da un parametro Query .
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"
Esempio 4: Ottenere istanze di una classe filtrata usando un nome di classe e un'espressione di filtro
In questo esempio vengono recuperate tutte le istanze CIM che iniziano con la lettera P di una classe denominata Win32_Process usando il parametro Filter.
Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"
Esempio 5: Ottenere le istanze CIM con solo le proprietà chiave compilate
Questo esempio crea una nuova istanza CIM in memoria per una classe denominata Win32_Process con la proprietà @{ "Handle"=0 }
chiave e la archivia in una variabile denominata $x
. La variabile viene passata come istanza CIM al Get-CimInstance
cmdlet per ottenere una particolare istanza.
$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x
Esempio 6: Recuperare le istanze CIM e riutilizzarle
Questo esempio ottiene le istanze CIM di una classe denominata Win32_Process e le archivia nelle variabili $x
e $y
. La variabile $x
viene quindi formattata in una tabella contenente solo le proprietà Name e KernelModeTime , la tabella impostata su AutoSize.
$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize
Name KernelModeTime
---- --------------
System Idle Process 157238797968750
Esempio 7: Ottenere istanze CIM dal computer remoto
In questo esempio vengono recuperate le istanze CIM di una classe denominata Win32_ComputerSystem dai computer remoti denominati Server01 e Server02.
Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02
Esempio 8: ottenere solo le proprietà chiave, anziché tutte le proprietà
In questo esempio vengono recuperate solo le proprietà chiave, riducendo le dimensioni dell'oggetto e del traffico di rete.
$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner
Esempio 9: Recupero solo di un subset di proprietà, anziché di tutte le proprietà
In questo esempio viene recuperato solo un subset di proprietà, che riduce le dimensioni dell'oggetto e del traffico di rete.
Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner
L'istanza recuperata con il parametro Property può essere usata per eseguire altre operazioni CIM, ad esempio Set-CimInstance
o Invoke-CimMethod
.
Esempio 10: Ottenere l'istanza CIM usando la sessione CIM
Questo esempio crea una sessione CIM nei computer denominati Server01 e Server02 usando il New-CimSession
cmdlet e archivia le informazioni sulla sessione in una variabile denominata $s
. Il contenuto della variabile viene quindi passato tramite Get-CimInstance
il parametro CimSession per ottenere le istanze CIM della classe denominata Win32_ComputerSystem.
$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s
Parametri
-CimSession
Specifica la sessione CIM da usare per questo cmdlet. 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 per cui recuperare le istanze CIM. È possibile usare il completamento tramite tabulazione per esplorare l'elenco delle classi, perché PowerShell ottiene un elenco di classi dal server WMI locale per fornire un elenco di nomi di classi.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ComputerName
Specifica il 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 non si specifica questo parametro, il cmdlet esegue l'operazione nel computer locale usando Component Object Model (COM).
Se si specifica questo parametro, il cmdlet crea una sessione temporanea nel computer specificato usando il protocollo WsMan.
Se vengono eseguite più operazioni nello stesso computer, connettersi usando una sessione CIM per ottenere prestazioni migliori.
Tipo: | String[] |
Alias: | CN, ServerName |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Filter
Specifica una clausola where da utilizzare come filtro. Specificare la clausola nel linguaggio di query WQL o CQL . Non includere la WHERE
parola chiave nel valore del parametro .
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-InputObject
Specifica un oggetto istanza CIM da utilizzare come input.
Se si usa già un oggetto istanza CIM, è possibile usare questo parametro per passare l'oggetto istanza CIM per ottenere lo snapshot più recente dal server CIM. Quando si passa un oggetto istanza CIM come input, Get-CimInstance
restituisce l'oggetto dal server usando un'operazione GET CIM anziché un'operazione di enumerazione o query. L'uso di un'operazione CIM get è più efficiente rispetto al recupero di tutte le istanze e quindi al filtro.
Il parametro InputObject non enumera le raccolte. Se viene passata una raccolta, viene generato un errore. Quando si utilizzano raccolte, inviare tramite pipe l'input per enumerare i valori.
Se la classe CIM non implementa l'operazione get, specificando il parametro InputObject viene restituito un errore.
Tipo: | CimInstance |
Alias: | CimInstance |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-KeyOnly
Indica che vengono restituiti solo gli oggetti con proprietà chiave popolate. Se si specifica il parametro KeyOnly , si riduce la quantità di dati trasferiti in rete.
Utilizzare il parametro KeyOnly per restituire solo una piccola parte dell'oggetto, che può essere usata per altre operazioni, ad esempio i Set-CimInstance
cmdlet o Get-CimAssociatedInstance
.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Namespace
Specifica lo spazio dei nomi della classe CIM.
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 computer. 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 un set di proprietà dell'istanza da recuperare. Usare questo parametro quando è necessario ridurre le dimensioni dell'oggetto restituito, in memoria o in rete. L'oggetto restituito contiene anche le proprietà chiave anche se non sono state elencate usando il parametro Property . Sono presenti altre proprietà della classe, ma non vengono popolate.
Tipo: | String[] |
Alias: | SelectProperties |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Query
Specifica una query da eseguire nel server CIM. Se il valore specificato contiene virgolette doppie , virgolette "
'
singole o una barra \
rovesciata , è necessario usare l'escape di tali caratteri anteponendo loro il carattere barra rovesciata. Se il valore specificato usa l'operatore WQL LIKE , è necessario eseguire l'escape dei caratteri seguenti racchiudendoli tra parentesi quadre []
: percentuale %
, sottolineatura _
o parentesi quadra [
aperta.
Non è possibile utilizzare una query di metadati per recuperare un elenco di classi o una query di eventi. Per recuperare un elenco di classi, usare il Get-CimClass
cmdlet . Per recuperare una query di eventi, usare il Register-CimIndicationEvent
cmdlet .
È possibile specificare il dialetto della query usando il parametro QueryDialect .
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-QueryDialect
Specifica il linguaggio di query utilizzato per il parametro Query. I valori accettabili per questo parametro sono: WQL o CQL. Il valore predefinito è WQL.
Tipo: | String |
Posizione: | Named |
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: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Shallow
Indica che le istanze di una classe vengono restituite senza includere le istanze di qualsiasi classe figlio. Per impostazione predefinita, il cmdlet restituisce le istanze di una classe e le relative classi figlio.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un oggetto istanza CIM a questo cmdlet.
Output
Questo cmdlet restituisce uno o più oggetti istanza CIM che rappresentano uno snapshot delle istanze CIM nel server CIM.
Note
PowerShell include gli alias seguenti per Get-CimInstance
:
- Windows:
gcim
Questo cmdlet è disponibile solo nelle piattaforme Windows.