Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.
Das Cmdlet Get-CimInstance ruft die CIM-Instanzen einer Klasse von einem CIM-Server ab. Sie können entweder den Klassennamen oder eine Abfrage für dieses Cmdlet angeben. Dieses Cmdlet gibt mindestens ein CIM-Instanzobjekt zurück, das eine Momentaufnahme der CIM-Instanzen darstellt, die auf dem CIM-Server vorhanden sind.
Wenn der parameter InputObject nicht angegeben ist, funktioniert das Cmdlet auf eine der folgenden Arten:
Wenn weder der parameter ComputerName noch der CimSession Parameter angegeben ist, funktioniert dieses Cmdlet unter Verwendung einer COM-Sitzung (Component Object Model) für lokale Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI).
Wenn entweder der Parameter ComputerName oder der Parameter CimSession angegeben ist, funktioniert dieses Cmdlet mit dem CIM-Server, der durch entweder den Parameter ComputerName oder CimSession angegeben wird.
Wenn der parameter InputObject angegeben ist, funktioniert das Cmdlet auf eine der folgenden Arten:
Wenn weder der ComputerName Parameter noch der CimSession Parameter angegeben wird, verwendet dieses Cmdlet den CIM-Sitzungs- oder Computernamen aus dem Eingabeobjekt.
Wenn der parameter ComputerName oder der CimSession Parameter angegeben ist, verwendet dieses Cmdlet entweder den CimSession-Parameterwert oder ComputerName Parameterwert.
Beispiele
Beispiel 1: Abrufen der CIM-Instanzen einer angegebenen Klasse
In diesem Beispiel werden die CIM-Instanzen einer Klasse mit dem Namen Win32_Processabgerufen.
Get-CimInstance -ClassName Win32_Process
Beispiel 2: Abrufen einer Liste von Namespaces von einem WMI-Server
In diesem Beispiel wird eine Liste von Namespaces unter dem Stammnamespace Namespace auf einem WMI-Server abgerufen.
Beispiel 3: Abrufen von Instanzen einer Klasse, die mithilfe einer Abfrage gefiltert wird
In diesem Beispiel werden alle CIM-Instanzen abgerufen, die mit dem Buchstaben P einer Klasse mit dem Namen Win32_Process beginnen, wobei die abfrage verwendet wird, die durch einen Query Parameter angegeben wurde.
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"
Beispiel 4: Abrufen von Instanzen einer Klasse, die mithilfe eines Klassennamens und eines Filterausdrucks gefiltert wird
In diesem Beispiel werden alle CIM-Instanzen abgerufen, die mit dem Buchstaben P einer Klasse mit dem Namen Win32_Process beginnen, indem der Filter-Parameter verwendet wird.
Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"
Beispiel 5: Abrufen der CIM-Instanzen, bei denen nur die Schlüsseleigenschaften ausgefüllt sind.
In diesem Beispiel wird eine neue CIM-Instanz im Arbeitsspeicher für eine Klasse namens Win32_Process mit der Schlüsseleigenschaft @{ "Handle"=0 } erstellt und in einer Variablen namens $xgespeichert. Die Variable wird als CIM-Instanz an das cmdlet Get-CimInstance übergeben, um eine bestimmte Instanz abzurufen.
Beispiel 6: Abrufen von CIM-Instanzen und Wiederverwenden
In diesem Beispiel werden die CIM-Instanzen einer Klasse mit dem Namen Win32_Process und in den Variablen $x und $ygespeichert. Die Variable $x wird dann in einer Tabelle formatiert, die nur die eigenschaften Name und KernelModeTime enthält, die Tabelle auf AutoSizefestgelegt ist.
Die mit dem Parameter Property abgerufene Instanz kann verwendet werden, um andere CIM-Vorgänge auszuführen, z. B. Set-CimInstance oder Invoke-CimMethod.
Beispiel 10: Abrufen der CIM-Instanz mithilfe der CIM-Sitzung
In diesem Beispiel wird eine CIM-Sitzung auf den Computern namens Server01 und Server02- mithilfe des Cmdlets New-CimSession erstellt und die Sitzungsinformationen in einer Variablen namens $sgespeichert. Der Inhalt der Variablen wird dann mithilfe des parameters Get-CimInstance an übergeben, um die CIM-Instanzen der Klasse mit dem Namen Win32_ComputerSystemabzurufen.
Gibt die CIM-Sitzung an, die für dieses Cmdlet verwendet werden soll. Geben Sie eine Variable ein, die die CIM-Sitzung oder einen Befehl enthält, der die CIM-Sitzung erstellt oder abruft, z. B. die New-CimSession oder Get-CimSession Cmdlets. Weitere Informationen finden Sie unter about_CimSession.
Gibt den Namen der CIM-Klasse an, für die die CIM-Instanzen abgerufen werden sollen. Sie können die Tab-Vervollständigung verwenden, um die Liste der Klassen zu durchsuchen, da PowerShell eine Liste von Klassen vom lokalen WMI-Server abruft, um eine Liste der Klassennamen bereitzustellen.
Gibt den Computer an, auf dem der CIM-Vorgang ausgeführt werden soll. Sie können einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN), einen NetBIOS-Namen oder eine IP-Adresse angeben. Wenn Sie diesen Parameter nicht angeben, führt das Cmdlet den Vorgang auf dem lokalen Computer mithilfe des Component Object Model (COM) aus.
Wenn Sie diesen Parameter angeben, erstellt das Cmdlet mithilfe des WsMan-Protokolls eine temporäre Sitzung auf dem angegebenen Computer.
Wenn mehrere Vorgänge auf demselben Computer ausgeführt werden, stellen Sie die Verbindung über eine CIM-Sitzung her, um eine bessere Leistung zu erzielen.
Gibt eine Where-Klausel an, die als Filter verwendet werden soll. Geben Sie die Klausel entweder in der WQL- oder in der CQL--Abfragesprache an. Schließen Sie das schlüsselwort WHERE nicht in den Wert des Parameters ein.
Gibt ein CIM-Instanzobjekt an, das als Eingabe verwendet werden soll.
Wenn Sie bereits mit einem CIM-Instanzobjekt arbeiten, können Sie diesen Parameter verwenden, um das CIM-Instanzobjekt zu übergeben, um die neueste Momentaufnahme vom CIM-Server abzurufen. Wenn Sie ein CIM-Instanzobjekt als Eingabe übergeben, gibt Get-CimInstance das Objekt mithilfe eines CIM-Abrufvorgangs vom Server zurück, anstelle eines Enumerations- oder Abfragevorgangs. Die Verwendung eines GET CIM-Vorgangs ist effizienter als das Abrufen aller Instanzen und anschließendes Filtern.
Der Parameter InputObject listet keine Sammlungen auf. Wenn eine Sammlung übergeben wird, wird ein Fehler ausgelöst. Wenn Sie mit Sammlungen arbeiten, leiten Sie die Eingaben weiter, um die Werte aufzulisten.
Wenn die CIM-Klasse den Get-Vorgang nicht implementiert, gibt die Angabe des InputObject--Parameters einen Fehler zurück.
Gibt an, dass nur Objekte mit aufgefüllten Schlüsseleigenschaften zurückgegeben werden. Die Angabe des KeyOnly- Parameters reduziert die Menge der über das Netzwerk übertragenen Daten.
Verwenden Sie den KeyOnly--Parameter, um nur einen kleinen Teil des Objekts zurückzugeben, der für andere Vorgänge verwendet werden kann, z. B. die Set-CimInstance- oder Get-CimAssociatedInstance-Cmdlets.
Der Standardnamespace ist root/CIMV2. Sie können die Registerkartenvervollständigung verwenden, um die Liste der Namespaces zu durchsuchen, da PowerShell eine Liste der Namespaces vom lokalen WMI-Server abruft, um die Liste der Namespaces bereitzustellen.
Gibt die Zeitspanne an, die das Cmdlet auf eine Antwort vom Computer wartet. Standardmäßig ist der Wert dieses Parameters 0, was bedeutet, dass das Cmdlet den Standardtimeoutwert für den Server verwendet.
Wenn der OperationTimeoutSec-Parameter auf einen Wert festgelegt ist, der kleiner als das robuste Verbindungswiederholungszeitlimit von 3 Minuten ist, können Netzwerkfehler, die länger als den Wert des OperationTimeoutSec-Parameters dauern, nicht wiederhergestellt werden, da der Vorgang auf dem Server überschritten wird, bevor der Client die Verbindung erneut herstellen kann.
Gibt einen Satz von Instanzeigenschaften an, die abgerufen werden sollen. Verwenden Sie diesen Parameter, wenn Sie die Größe des zurückgegebenen Objekts reduzieren müssen, entweder im Arbeitsspeicher oder über das Netzwerk. Das zurückgegebene Objekt enthält auch die wichtigsten Eigenschaften, auch wenn Sie sie nicht mit dem Parameter Property aufgelistet haben. Andere Eigenschaften der Klasse sind vorhanden, sie werden jedoch nicht aufgefüllt.
Gibt eine Abfrage an, die auf dem CIM-Server ausgeführt werden soll. Wenn der angegebene Wert doppelte Anführungszeichen ", einfache Anführungszeichen ' oder einen umgekehrten Schrägstrich \ enthält, müssen Sie diese Zeichen durch einen vorangestellten umgekehrten Schrägstrich ersetzen. Wenn der angegebene Wert den WQL-LIKE-Operator verwendet, müssen Sie die folgenden Zeichen escapeen, indem Sie sie in eckige Klammern []: Prozent %, Unterstrich _oder öffnende eckige Klammer [.
Sie können keine Metadatenabfrage verwenden, um eine Liste von Klassen oder eine Ereignisabfrage abzurufen. Verwenden Sie das Cmdlet Get-CimClass, um eine Liste von Klassen abzurufen. Verwenden Sie das Cmdlet Register-CimIndicationEvent, um eine Ereignisabfrage abzurufen.
Sie können den Abfragedialekt mithilfe des QueryDialect--Parameters angeben.
Gibt die Abfragesprache an, die für den Abfrageparameter verwendet wird. Die zulässigen Werte für diesen Parameter sind: WQL- oder CQL-. Der Standardwert ist WQL.
Gibt den URI (Uniform Resource Identifier) der Ressourcenklasse oder -instanz an. Der URI wird verwendet, um einen bestimmten Ressourcentyp zu identifizieren, z. B. Datenträger oder Prozesse, auf einem Computer.
Ein URI besteht aus einem Präfix und einem Pfad zu einer Ressource. Beispiel:
Wenn Sie diesen Parameter nicht angeben, wird standardmäßig der URI der DMTF-Standardressource http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ verwendet, und der Klassenname wird daran angefügt.
ResourceUri- kann nur mit CIM-Sitzungen verwendet werden, die mit dem WSMan-Protokoll erstellt wurden, oder wenn sie den ComputerName Parameter angeben, der eine CIM-Sitzung mit WSMan erstellt. Wenn Sie diesen Parameter angeben, ohne den parameter ComputerName anzugeben, oder wenn Sie eine MIT DCOM-Protokoll erstellte CIM-Sitzung angeben, wird ein Fehler angezeigt, da das DCOM-Protokoll den ResourceUri Parameter nicht unterstützt.
Wenn sowohl der Parameter ResourceUri als auch der Parameter Filter angegeben werden, wird der Parameter Filter ignoriert.
Gibt an, dass die Instanzen einer Klasse zurückgegeben werden, ohne die Instanzen untergeordneter Klassen einzuschließen. Standardmäßig gibt das Cmdlet die Instanzen einer Klasse und seiner untergeordneten Klassen zurück.
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.