Aracılığıyla paylaş


Get-CimInstance

CiM sunucusundan bir sınıfın CIM örneklerini alır.

Sözdizimi

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

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

Get-CimInstance cmdlet'i bir CIM sunucusundan bir sınıfın CIM örneklerini alır. Bu cmdlet için sınıf adını veya sorguyu belirtebilirsiniz. Bu cmdlet, CIM sunucusunda bulunan CIM örneklerinin anlık görüntüsünü temsil eden bir veya daha fazla CIM örneği nesnesi döndürür.

InputObject parametresi belirtilmezse, cmdlet aşağıdaki yollardan biriyle çalışır:

  • ComputerName parametresi veya CimSession parametresi belirtilmezse, bu cmdlet bir Bileşen Nesne Modeli (COM) oturumu kullanarak yerel Windows Yönetim Araçları'nda (WMI) çalışır.
  • ComputerName parametresi veya CimSession parametresi belirtilirse, bu cmdlet ComputerName parametresi veya CimSession parametresi tarafından belirtilen CIM sunucusunda çalışır.

InputObject parametresi belirtilirse, cmdlet aşağıdaki yollardan biriyle çalışır:

  • ComputerName parametresi veya CimSession parametresi belirtilmezse, bu cmdlet giriş nesnesinden CIM oturumunu veya bilgisayar adını kullanır.
  • ComputerName parametresi veya CimSession parametresi belirtilirse, bu cmdlet CimSession parametre değerini veya ComputerName parametre değerini kullanır.

Örnekler

Örnek 1: Belirtilen sınıfın CIM örneklerini alma

Bu örnek, Win32_Processadlı bir sınıfın CIM örneklerini alır.

Get-CimInstance -ClassName Win32_Process

Örnek 2: WMI sunucusundan ad alanlarının listesini alma

Bu örnek, bir WMI sunucusundaki kök ad alanının altındaki ad alanlarının listesini alır.

Get-CimInstance -Namespace root -ClassName __Namespace

Örnek 3: Sorgu kullanarak filtrelenen bir sınıfın örneklerini alma

Bu örnek, Query parametresi tarafından belirtilen sorguyu kullanarak Win32_Process adlı sınıfın P harfiyle başlayan tüm CIM örneklerini alır.

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

Örnek 4: Sınıf adı ve filtre ifadesi kullanılarak filtrelenen sınıfın örneklerini alma

Bu örnek, Filter parametresini kullanarak Win32_Process adlı sınıfın P harfiyle başlayan tüm CIM örneklerini alır.

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

Örnek 5: Yalnızca anahtar özellikleri doldurulmuş CIM örneklerini alma

Bu örnek, anahtar özelliğine sahip @{ "Handle"=0 } adlı bir sınıf için bellekte yeni bir CIM örneği oluşturur ve $xadlı bir değişkende depolar. Değişken, belirli bir örneği almak için Get-CimInstance cmdlet'ine cim örneği olarak geçirilir.

$instance = @{
    ClassName = 'Win32_Process'
    Namespace = 'root/cimv2'
    Properties = @{
        Handle = 0
    }
    Key = 'Handle'
    ClientOnly = $true
}
$x = New-CimInstance @instance
Get-CimInstance -CimInstance $x

Örnek 6: CIM örneklerini alma ve yeniden kullanma

Bu örnek, Win32_Process adlı bir sınıfın CIM örneklerini alır ve bunları $x ve $ydeğişkenlerinde depolar. $x değişkeni daha sonra yalnızca Adı ve KernelModeTime özelliklerini içeren bir tabloda biçimlendirilir ve tablo otomatik olarak ayarlanır.

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

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

Örnek 7: CiM örneklerini uzak bilgisayardan alma

Bu örnek, Server01 adlı uzak bilgisayarlardan Win32_ComputerSystem adlı bir sınıfın CIM örneklerini alır ve Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01, Server02

Örnek 8: Tüm özellikler yerine yalnızca anahtar özellikleri alma

Bu örnek yalnızca nesnenin ve ağ trafiğinin boyutunu azaltan temel özellikleri alır.

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

Örnek 9: Tüm özellikler yerine özelliklerin yalnızca bir alt kümesini alma

Bu örnek, nesnenin ve ağ trafiğinin boyutunu azaltan özelliklerin yalnızca bir alt kümesini alır.

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

Özelliği parametresiyle alınan örnek, Set-CimInstance veya Invoke-CimMethodgibi diğer CIM işlemlerini gerçekleştirmek için kullanılabilir.

Örnek 10: CIM oturumunu kullanarak CIM örneğini alma

Bu örnek, cmdlet'ini kullanarak Server01 ve New-CimSession adlı bilgisayarlarda bir CIM oturumu oluşturur ve oturum bilgilerini $sadlı bir değişkende depolar. Değişkenin içeriği daha sonra Get-CimInstanceadlı sınıfın CIM örneklerini almak için CimSession parametresi kullanılarak geçirilir.

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

Parametreler

-CimSession

Bu cmdlet için kullanılacak CIM oturumunu belirtir. CIM oturumunu içeren bir değişken veya New-CimSession veya Get-CimSession cmdlet'leri gibi CIM oturumunu oluşturan veya alan bir komut girin. Daha fazla bilgi için bkz. about_CimSession.

Tür:CimSession[]
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-ClassName

CIM örneklerinin alındığı CIM sınıfının adını belirtir. PowerShell, sınıf adlarının listesini sağlamak için yerel WMI sunucusundan sınıfların listesini aldığından, sınıf listesine göz atmak için sekme tamamlama özelliğini kullanabilirsiniz.

Tür:String
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-ComputerName

CIM işlemini çalıştırmak istediğiniz bilgisayarı belirtir. Tam etki alanı adı (FQDN), NetBIOS adı veya IP adresi belirtebilirsiniz. Bu parametreyi belirtmezseniz, cmdlet işlemi Bileşen Nesne Modeli (COM) kullanarak yerel bilgisayarda gerçekleştirir.

Bu parametreyi belirtirseniz, cmdlet WsMan protokolunu kullanarak belirtilen bilgisayarda geçici bir oturum oluşturur.

Aynı bilgisayarda birden çok işlem gerçekleştiriliyorsa, daha iyi performans için CIM oturumu kullanarak bağlanın.

Tür:String[]
Diğer adlar:CN, ServerName
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Filter

Filtre olarak kullanılacak where yan tümcesini belirtir. yan tümcesini WQL veya CQL sorgu dilinde belirtin. parametresinin değerine WHERE anahtar sözcüğünü eklemeyin.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-InputObject

Giriş olarak kullanılacak bir CIM örneği nesnesi belirtir.

Zaten bir CIM örneği nesnesiyle çalışıyorsanız, CIM sunucusundan en son anlık görüntüyü almak için CIM örnek nesnesini geçirmek için bu parametreyi kullanabilirsiniz. Bir CIM örneği nesnesini giriş olarak geçirdiğinizde, Get-CimInstance listeleme veya sorgu işlemi yerine get CIM işlemini kullanarak sunucudan nesneyi döndürür. Get CIM işlemi kullanmak, tüm örnekleri alıp sonra bunları filtrelemekten daha verimlidir.

InputObject parametresi koleksiyonlar üzerinde numaralandırılmıyor. Bir koleksiyon geçirilirse bir hata oluşur. Koleksiyonlarla çalışırken, değerleri numaralandırmak için girişi kanala yazın.

CIM sınıfı get işlemini uygulamazsa, InputObject parametresinin belirtilmesi bir hata döndürür.

Tür:CimInstance
Diğer adlar:CimInstance
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-KeyOnly

Yalnızca anahtar özellikleri doldurulmuş nesnelerin döndürüldüğünü gösterir. KeyOnly parametresinin belirtilmesi ağ üzerinden aktarılan veri miktarını azaltır.

veya Set-CimInstance cmdlet'leri gibi diğer işlemler için kullanılabilen nesnenin yalnızca küçük bir bölümünü döndürmek için Get-CimAssociatedInstance parametresini kullanın.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Namespace

CIM sınıfının ad alanını belirtir.

Varsayılan ad alanı kök/CIMV2 . PowerShell, ad alanlarının listesini sağlamak üzere yerel WMI sunucusundan bir ad alanı listesi aldığından, ad alanları listesine göz atmak için sekme tamamlama özelliğini kullanabilirsiniz.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-OperationTimeoutSec

Cmdlet'in bilgisayardan yanıt bekleme süresini belirtir. Varsayılan olarak, bu parametrenin değeri 0'dır; bu da cmdlet'in sunucu için varsayılan zaman aşımı değerini kullandığı anlamına gelir.

OperationTimeoutSec parametresi 3 dakikalık sağlam bağlantı yeniden deneme zaman aşımından daha küçük bir değere ayarlanırsa, istemci yeniden bağlanamadan önce sunucudaki işlem zaman aşımına uğraması nedeniyle OperationTimeoutSec parametresinin değerinden daha uzun süren ağ hataları kurtarılamaz.

Tür:UInt32
Diğer adlar:OT
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Property

Alınacak örnek özellikleri kümesini belirtir. Döndürülen nesnenin boyutunu bellekte veya ağ üzerinden azaltmanız gerektiğinde bu parametreyi kullanın. Döndürülen nesne, Özelliği parametresini kullanarak bunları listelemiyor olsanız bile anahtar özelliklerini de içerir. Sınıfın diğer özellikleri vardır, ancak doldurulmazlar.

Tür:String[]
Diğer adlar:SelectProperties
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Query

CIM sunucusunda çalıştırılacak sorguyu belirtir. Belirtilen değer ", 'tek tırnak işaretleri veya ters eğik çizgi \içeriyorsa, bu karakterlere ters eğik çizgi karakteri ön ekini ekleyerek bu karakterlerden kaçmalısınız. Belirtilen değer WQL LIKE işlecini kullanıyorsa, bunları köşeli ayraç içine []içine alarak şu karakterlerden kaçmalısınız: yüzde %, alt çizgi _veya [köşeli ayraç açma.

Sınıfların listesini veya olay sorgusunu almak için meta veri sorgusu kullanamazsınız. Sınıfların listesini almak için Get-CimClass cmdlet'ini kullanın. Olay sorgusu almak için Register-CimIndicationEvent cmdlet'ini kullanın.

QueryDialect parametresini kullanarak sorgu diyalektini belirtebilirsiniz.

Tür:String
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-QueryDialect

Sorgu parametresi için kullanılan sorgu dilini belirtir. Bu parametre için kabul edilebilir değerler şunlardır: WQL veya CQL. Varsayılan değer WQL değeridir.

Tür:String
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-ResourceUri

Kaynak sınıfının veya örneğin kaynak tekdüzen kaynak tanımlayıcısını (URI) belirtir. URI, bir bilgisayardaki diskler veya işlemler gibi belirli bir kaynak türünü tanımlamak için kullanılır.

URI bir ön ek ve kaynağın yolundan oluşur. Mesela:

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

Varsayılan olarak, bu parametreyi belirtmezseniz, DMTF standart kaynak URI'sini http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ kullanılır ve sınıf adı eklenir.

ResourceUri yalnızca WSMan protokolü kullanılarak oluşturulan CIM oturumlarıyla veya WSMan kullanarak bir CIM oturumu oluşturan ComputerName parametresi belirtilirken kullanılabilir. ComputerName parametresini belirtmeden bu parametreyi belirtirseniz veya DCOM protokolü kullanılarak oluşturulan bir CIM oturumu belirtirseniz, DCOM protokolü ResourceUri parametresini desteklemediğinden bir hata alırsınız.

hem ResourceUri parametresi hem de Filter parametresi belirtilirse, Filter parametresi yoksayılır.

Tür:Uri
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Shallow

Bir sınıfın örneklerinin, herhangi bir alt sınıfın örnekleri dahil edilmeden döndürüldüğünü gösterir. Varsayılan olarak, cmdlet bir sınıfın ve onun alt sınıflarının örneklerini döndürür.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

CimInstance

CiM örneği nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

CimInstance

Bu cmdlet, CIM sunucusundaki CIM örneklerinin anlık görüntüsünü temsil eden bir veya daha fazla CIM örneği nesnesi döndürür.

Notlar

PowerShell, Get-CimInstanceiçin aşağıdaki diğer adları içerir:

  • Windows:
    • gcim

Bu cmdlet yalnızca Windows platformlarında kullanılabilir.