Udostępnij za pośrednictwem


Get-CimInstance

Pobiera wystąpienia modelu CIM klasy z serwera CIM.

Składnia

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>]

Opis

To polecenie cmdlet jest dostępne tylko na platformie Windows.

Polecenie cmdlet Get-CimInstance pobiera wystąpienia modelu CIM klasy z serwera CIM. Możesz określić nazwę klasy lub kwerendę dla tego polecenia cmdlet. To polecenie cmdlet zwraca co najmniej jeden obiekt wystąpienia modelu CIM reprezentujący migawkę wystąpień modelu CIM znajdujących się na serwerze CIM.

Jeśli nie określono parametru InputObject, polecenie cmdlet działa na jeden z następujących sposobów:

  • Jeśli nie określono parametru ComputerName ani parametru CimSession, to to polecenie cmdlet działa w lokalnej sesji instrumentacji zarządzania Windows (WMI) przy użyciu sesji modelu obiektów składników (COM).
  • Jeśli określono parametr ComputerName lub parametr CimSession, to polecenie cmdlet działa względem serwera CIM określonego przez parametr ComputerName lub CimSession parametru.

Jeśli określono parametr InputObject, polecenie cmdlet działa w jeden z następujących sposobów:

  • Jeśli nie określono parametru ComputerName ani parametru CimSession, to to polecenie cmdlet używa sesji lub nazwy komputera modelu CIM z obiektu wejściowego.
  • Jeśli określono parametr ComputerName lub parametr CimSession, to to polecenie cmdlet używa wartości parametru CimSession lub ComputerName wartości parametru.

Przykłady

Przykład 1. Pobieranie wystąpień modelu CIM określonej klasy

W tym przykładzie są pobierane wystąpienia modelu CIM klasy o nazwie Win32_Process.

Get-CimInstance -ClassName Win32_Process

Przykład 2. Pobieranie listy przestrzeni nazw z serwera WMI

Ten przykład pobiera listę przestrzeni nazw w przestrzeni nazw głównej na serwerze WMI.

Get-CimInstance -Namespace root -ClassName __Namespace

Przykład 3. Pobieranie wystąpień klasy filtrowanej przy użyciu zapytania

W tym przykładzie są pobierane wszystkie wystąpienia modelu CIM rozpoczynające się literą P klasy o nazwie Win32_Process przy użyciu zapytania określonego przez parametr Query.

Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"

Przykład 4. Pobieranie wystąpień klasy filtrowanej przy użyciu nazwy klasy i wyrażenia filtru

W tym przykładzie są pobierane wszystkie wystąpienia modelu CIM rozpoczynające się literą P klasy o nazwie Win32_Process przy użyciu parametru Filter.

Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"

Przykład 5. Pobieranie wystąpień modelu CIM tylko z wypełnionymi właściwościami klucza

Ten przykład tworzy nowe wystąpienie modelu CIM w pamięci dla klasy o nazwie Win32_Process z właściwością klucza @{ "Handle"=0 } i przechowuje je w zmiennej o nazwie $x. Zmienna jest przekazywana jako wystąpienie modelu CIM do polecenia cmdlet Get-CimInstance w celu pobrania określonego wystąpienia.

$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x

Przykład 6. Pobieranie wystąpień modelu CIM i ponowne używanie ich

Ten przykład pobiera wystąpienia modelu CIM klasy o nazwie Win32_Process i przechowuje je w zmiennych $x i $y. Zmienna $x jest następnie formatowana w tabeli zawierającej tylko właściwości Name i KernelModeTime, tabela ustawiona na AutoSize.

$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize

Name                 KernelModeTime
----                 --------------
System Idle Process 157238797968750

Przykład 7. Pobieranie wystąpień modelu CIM z komputera zdalnego

Ten przykład pobiera wystąpienia modelu CIM klasy o nazwie Win32_ComputerSystem z komputerów zdalnych o nazwie Server01 i Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02

Przykład 8. Pobieranie tylko właściwości klucza zamiast wszystkich właściwości

Ten przykład pobiera tylko właściwości klucza, co zmniejsza rozmiar obiektu i ruchu sieciowego.

$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner

Przykład 9. Pobieranie tylko podzestawu właściwości zamiast wszystkich właściwości

Ten przykład pobiera tylko podzbiór właściwości, co zmniejsza rozmiar obiektu i ruchu sieciowego.

Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner

Wystąpienie pobrane za pomocą parametru właściwości może służyć do wykonywania innych operacji ciM, na przykład lub .

Przykład 10: Pobieranie wystąpienia modelu CIM przy użyciu sesji modelu CIM

W tym przykładzie na komputerach o nazwie Server01 i Server02 przy użyciu polecenia cmdlet New-CimSession i przechowuje informacje o sesji w zmiennej o nazwie $s. Zawartość zmiennej jest następnie przekazywana do Get-CimInstance przy użyciu parametru CimSession, aby pobrać wystąpienia modelu CIM klasy o nazwie Win32_ComputerSystem.

$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s

Parametry

-CimSession

Określa sesję modelu CIM, która ma być używana dla tego polecenia cmdlet. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład polecenia cmdlet New-CimSession lub Get-CimSession. Aby uzyskać więcej informacji, zobacz about_CimSession.

Typ:CimSession[]
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ClassName

Określa nazwę klasy CIM, dla której mają być pobierane wystąpienia modelu CIM. Aby przeglądać listę klas, można użyć uzupełniania tabulatorów, ponieważ program PowerShell pobiera listę klas z lokalnego serwera WMI, aby podać listę nazw klas.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ComputerName

Określa komputer, na którym chcesz uruchomić operację CIM. Można określić w pełni kwalifikowaną nazwę domeny (FQDN), nazwę NetBIOS lub adres IP. Jeśli nie określisz tego parametru, polecenie cmdlet wykonuje operację na komputerze lokalnym przy użyciu modelu obiektów składników (COM).

Jeśli określisz ten parametr, polecenie cmdlet utworzy sesję tymczasową na określonym komputerze przy użyciu protokołu WsMan.

Jeśli na tym samym komputerze jest wykonywanych wiele operacji, połącz się przy użyciu sesji modelu CIM, aby uzyskać lepszą wydajność.

Typ:String[]
Aliasy:CN, ServerName
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Filter

Określa klauzulę where, która ma być używana jako filtr. Określ klauzulę w WQL lub języku zapytań CQL. Nie dołączaj słowa kluczowego WHERE w wartości parametru .

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-InputObject

Określa obiekt wystąpienia modelu CIM, który ma być używany jako dane wejściowe.

Jeśli już pracujesz z obiektem wystąpienia modelu CIM, możesz użyć tego parametru, aby przekazać obiekt wystąpienia modelu CIM, aby uzyskać najnowszą migawkę z serwera CIM. Po przekazaniu obiektu wystąpienia modelu CIM jako danych wejściowych Get-CimInstance zwraca obiekt z serwera przy użyciu operacji get CIM, zamiast operacji wyliczania lub wykonywania zapytania. Użycie operacji pobierania modelu ciM jest bardziej wydajne niż pobieranie wszystkich wystąpień, a następnie filtrowanie ich.

Parametr InputObject nie wylicza się w kolekcjach. Jeśli kolekcja zostanie przekazana, zostanie zgłoszony błąd. Podczas pracy z kolekcjami należy przekazać dane wejściowe w celu wyliczenia wartości.

Jeśli klasa CIM nie implementuje operacji get, określenie parametru InputObject zwraca błąd.

Typ:CimInstance
Aliasy:CimInstance
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-KeyOnly

Wskazuje, że zwracane są tylko obiekty z wypełnionymi właściwościami klucza. Określenie parametru KeyOnly zmniejsza ilość danych przesyłanych przez sieć.

Użyj parametru KeyOnly, aby zwrócić tylko niewielką część obiektu, która może służyć do innych operacji, takich jak polecenia cmdlet Set-CimInstance lub Get-CimAssociatedInstance.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Namespace

Określa przestrzeń nazw klasy CIM.

Domyślna przestrzeń nazw to root/cimv2. Za pomocą uzupełniania karty można przeglądać listę przestrzeni nazw, ponieważ program PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-OperationTimeoutSec

Określa czas oczekiwania polecenia cmdlet na odpowiedź z komputera. Domyślnie wartość tego parametru to 0, co oznacza, że polecenie cmdlet używa domyślnej wartości limitu czasu dla serwera.

Jeśli parametr OperationTimeoutSec jest ustawiony na wartość mniejszą niż limit czasu ponawiania próby niezawodnego połączenia przez 3 minuty, awarie sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec nie są możliwe do odzyskania, ponieważ operacja na serwerze przekracza limit czasu, zanim klient będzie mógł ponownie nawiązać połączenie.

Typ:UInt32
Aliasy:OT
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Property

Określa zestaw właściwości wystąpienia do pobrania. Użyj tego parametru, gdy musisz zmniejszyć rozmiar zwracanego obiektu w pamięci lub za pośrednictwem sieci. Zwrócony obiekt zawiera również właściwości klucza, nawet jeśli nie zostały wymienione przy użyciu parametru Property. Inne właściwości klasy są obecne, ale nie są wypełniane.

Typ:String[]
Aliasy:SelectProperties
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Query

Określa zapytanie do uruchomienia na serwerze CIM. Jeśli określona wartość zawiera cudzysłowy podwójne ", apostrofy 'lub ukośnik odwrotny \, należy użyć tych znaków, prefiksując je znakiem ukośnika odwrotnego. Jeśli określona wartość używa operatora WQL LIKE, należy zamknąć następujące znaki, ujęcie ich w nawiasy kwadratowe []: procent %, podkreślenie _lub otwierając nawias kwadratowy [.

Nie można użyć zapytania metadanych do pobrania listy klas lub zapytania zdarzenia. Aby pobrać listę klas, użyj polecenia cmdlet Get-CimClass. Aby pobrać zapytanie o zdarzenie, użyj polecenia cmdlet Register-CimIndicationEvent.

Dialekt zapytania można określić przy użyciu parametru QueryDialect.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-QueryDialect

Określa język zapytań używany dla parametru Query. Dopuszczalne wartości tego parametru to: WQL lub CQL. Wartość domyślna to WQL.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ResourceUri

Określa identyfikator URI (resource uniform resource identifier) klasy zasobów lub wystąpienia. Identyfikator URI służy do identyfikowania określonego typu zasobu, takiego jak dyski lub procesy, na komputerze.

Identyfikator URI składa się z prefiksu i ścieżki do zasobu. Na przykład:

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Domyślnie, jeśli nie określisz tego parametru, używany jest identyfikator URI zasobu standardowego DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/, a nazwa klasy jest dołączana do niego.

ResourceURI można używać tylko z sesjami modelu CIM utworzonymi przy użyciu protokołu WSMan lub podczas określania parametru ComputerName, który tworzy sesję modelu CIM przy użyciu narzędzia WSMan. Jeśli określisz ten parametr bez określenia parametru ComputerName lub jeśli określisz sesję modelu ciM utworzoną przy użyciu protokołu DCOM, zostanie wyświetlony błąd, ponieważ protokół DCOM nie obsługuje resourceURI parametru.

Jeśli określono parametr ResourceUri i parametr Filter Filter, parametr Filter zostanie zignorowany.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Shallow

Wskazuje, że wystąpienia klasy są zwracane bez uwzględniania wystąpień żadnych klas podrzędnych. Domyślnie polecenie cmdlet zwraca wystąpienia klasy i jej klas podrzędnych.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

CimInstance

Do tego polecenia cmdlet można przekazać obiekt wystąpienia modelu CIM.

Dane wyjściowe

CimInstance

To polecenie cmdlet zwraca co najmniej jeden obiekt wystąpienia modelu CIM reprezentujący migawkę wystąpień modelu CIM na serwerze CIM.

Uwagi

Program PowerShell zawiera następujące aliasy dla Get-CimInstance:

  • Windows:
    • gcim

To polecenie cmdlet jest dostępne tylko na platformach windows.