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 di 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 viene specificato 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 filtrate 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: Ottenere solo un subset di proprietà, anziché 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
In questo esempio viene creata una sessione CIM nei computer denominati Server01 e Server02 usando il New-CimSession
cmdlet e le informazioni sulla sessione vengono archiviate in una variabile denominata $s
. Il contenuto della variabile viene quindi passato a Get-CimInstance
usando 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.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 classe.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 più operazioni vengono eseguite nello stesso computer, connettersi usando una sessione CIM per ottenere prestazioni migliori.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 le 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.
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Usare 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
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Specifica lo spazio dei nomi della classe CIM.
Lo spazio dei nomi predefinito è root/cimv2. È possibile usare il completamento tramite tabulazione 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 affidabile dei tentativi di connessione 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.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 . Altre proprietà della classe sono presenti, ma non vengono popolate.
Type: | String[] |
Aliases: | SelectProperties |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Query
Specifica una query da eseguire nel server CIM. Se il valore specificato contiene virgolette "
doppie, virgolette '
singole o una barra rovesciata \
, è necessario eseguire 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 usare 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 evento, usare il Register-CimIndicationEvent
cmdlet .
È possibile specificare il dialetto della query usando il parametro QueryDialect .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
Specifica l'URI (Uniform Resource Identifier) della classe di risorsa o dell'istanza. 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.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Shallow
Indica che le istanze di una classe vengono restituite senza includere le istanze di alcuna classe figlio. Per impostazione predefinita, il cmdlet restituisce le istanze di una classe e le relative classi figlio.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile inviare tramite pipe un oggetto istanza CIM a questo cmdlet.
Output
Questo cmdlet restituisce uno o più oggetti di 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.