Aracılığıyla paylaş


Get-WmiObject

Windows Yönetim Araçları (WMI) sınıflarının örneklerini veya kullanılabilir sınıflar hakkında bilgi alır.

Syntax

Get-WmiObject
   [-Class] <String>
   [[-Property] <String[]>]
   [-Filter <String>]
   [-Amended]
   [-DirectRead]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [<CommonParameters>]
Get-WmiObject
   [[-Class] <String>]
   [-Recurse]
   [-Amended]
   [-List]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [<CommonParameters>]
Get-WmiObject
   [-Amended]
   [-DirectRead]
   -Query <String>
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [<CommonParameters>]
Get-WmiObject
   [-Amended]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [<CommonParameters>]
Get-WmiObject
   [-Amended]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [<CommonParameters>]

Description

PowerShell 3.0'dan başlayarak, bu cmdlet'in Get-CimInstanceyerini almıştır.

Cmdlet, Get-WmiObject WMI sınıflarının örneklerini veya kullanılabilir WMI sınıfları hakkındaki bilgileri alır. Uzak bir bilgisayar belirtmek için ComputerName parametresini kullanın. List parametresi belirtilirse, cmdlet belirtilen ad alanında kullanılabilen WMI sınıfları hakkında bilgi alır. Sorgu parametresi belirtilirse, cmdlet bir WMI sorgu dili (WQL) deyimi çalıştırır.

Get-WmiObject Cmdlet, uzak işlemleri gerçekleştirmek için Windows PowerShell uzaktan iletişimini kullanmaz. Bilgisayarınız Windows PowerShell uzaktan iletişim gereksinimlerini karşılamasa veya Windows PowerShell'de uzaktan iletişim için yapılandırılmamış olsa bile cmdlet'in ComputerName parametresini Get-WmiObject kullanabilirsiniz.

Windows PowerShell 3.0'da başlayarak, döndüren Get-WmiObject nesnenin __Server özelliği psComputerName diğer adına sahiptir. Bu, çıkışa ve raporlara kaynak bilgisayar adını eklemeyi kolaylaştırır.

Örnekler

Örnek 1: Yerel bilgisayarda işlemleri alma

Bu örnek, yerel bilgisayardaki işlemleri alır.

Get-WmiObject -Class Win32_Process

Örnek 2: Uzak bilgisayardaki hizmetleri alır

Bu örnek, uzak bilgisayardaki hizmetleri alır. ComputerName parametresi uzak bilgisayarın IP adresini belirtir. Varsayılan olarak, geçerli kullanıcı hesabının uzak bilgisayardaki Yönetici istrators grubunun bir üyesi olması gerekir.

Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62

Örnek 3: Yerel bilgisayarın kök veya varsayılan ad alanında WMI sınıflarını alma

Bu örnek, yerel bilgisayarın kök veya varsayılan ad alanında WMI sınıflarını alır.

Get-WmiObject -Namespace "root/default" -List

Örnek 4: Birden çok bilgisayarda adlandırılmış hizmet alma

Bu örnek, ComputerName parametresinin değeri tarafından belirtilen bilgisayarlarda WinRM hizmetini alır.

Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 |
  Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status

PSComputerName : SERVER01
Name           : WinRM
ExitCode       : 0
Name           : WinRM
ProcessID      : 844
StartMode      : Auto
State          : Running
Status         : OK

PSComputerName : SERVER02
Name           : WinRM
ExitCode       : 0
Name           : WinRM
ProcessID      : 932
StartMode      : Auto
State          : Running
Status         : OK

İşlem hattı işleci (|), çıkışı cmdlet'ine Format-List gönderir ve bu da PSComputerName özelliğini varsayılan çıkışa ekler. PSComputerName, döndüren nesnelerin __Server özelliğinin diğer adıdırGet-WmiObject. Bu diğer ad PowerShell 3.0'da kullanıma sunulmuştur.

Örnek 5: Uzak bilgisayarda hizmeti durdurma

Bu örnek, uzak bir bilgisayarda WinRM hizmetini durdurur. Get-WmiObject , Server01'de WinRM hizmet nesnesinin örneğini alır. Ardından, bu nesnedeki Win32_Service WMI sınıfının StopService yöntemini çağırır.

(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()

Bu, cmdlet'ini Stop-Service kullanmaya eşdeğerdir.

Örnek 6: Yerel bilgisayara BIOS alma

Bu örnek, BIOS bilgilerini yerel bilgisayardan alır. Cmdlet'in Format-List Property parametresi, döndürülen nesnenin tüm özelliklerini bir listede görüntülemek için kullanılır. Varsayılan olarak, yapılandırma dosyasında tanımlanan Types.ps1xml özelliklerin yalnızca alt kümesi görüntülenir.

Get-WmiObject -Class Win32_Bios | Format-List -Property *

Status                : OK
Name                  : Phoenix ROM BIOS PLUS Version 1.10 A05
Caption               : Phoenix ROM BIOS PLUS Version 1.10 A05
SMBIOSPresent         : True
__GENUS               : 2
__CLASS               : Win32_BIOS
__SUPERCLASS          : CIM_BIOSElement
__DYNASTY             : CIM_ManagedSystemElement
__RELPATH             : Win32_BIOS.Name="Phoenix ROM BIOS PLUS Version 1.10
__PROPERTY_COUNT      : 27
__DERIVATION          : {CIM_BIOSElement, CIM_SoftwareElement, CIM_LogicalElement,
__SERVER              : Server01
__NAMESPACE           : root\cimv2
__PATH                : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
BiosCharacteristics   : {7, 9, 10, 11...}
BIOSVersion           : {DELL   - 15, Phoenix ROM BIOS PLUS Version 1.10 A05}
BuildNumber           :
CodeSet               :
CurrentLanguage       : en|US|iso8859-1
Description           : Phoenix ROM BIOS PLUS Version 1.10 A05
IdentificationCode    :
InstallableLanguages  : 1
InstallDate           :
LanguageEdition       :
ListOfLanguages       : {en|US|iso8859-1}
Manufacturer          : Dell Inc.
OtherTargetOS         :
PrimaryBIOS           : True
ReleaseDate           : 20101103000000.000000+000
SerialNumber          : 8VDM9P1
SMBIOSBIOSVersion     : A05
SMBIOSMajorVersion    : 2
SMBIOSMinorVersion    : 6
SoftwareElementID     : Phoenix ROM BIOS PLUS Version 1.10 A05
SoftwareElementState  : 3
TargetOperatingSystem : 0
Version               : DELL   - 15
Scope                 : System.Management.ManagementScope
Path                  : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
Options               : System.Management.ObjectGetOptions
ClassPath             : \\JUNE-PC\root\cimv2:Win32_BIOS
Properties            : {BiosCharacteristics, BIOSVersion, BuildNumber, Caption...}
SystemProperties      : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers            : {dynamic, Locale, provider, UUID}
Site                  :
Container             :

Örnek 7: Uzak bir bilgisayarda hizmetleri alma

Bu örnekte, hizmetleri uzak bir bilgisayara almak için cmdlet'in Get-WmiObject Credential parametresi kullanılır. Credential parametresinin değeri bir kullanıcı hesabı adıdır. Kullanıcıdan parola istenir.

Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam

Not

Yerel bilgisayar hedeflendiğinde kimlik bilgileri kullanılamaz.

Parametreler

-Amended

WMI'dan döndürülen nesnelerin değiştirilmiş bilgiler içermesi gerekip gerekmediğini belirten bir değer alır veya ayarlar. Değiştirilen bilgiler genellikle WMI nesnesine eklenmiş nesne ve özellik açıklamaları gibi yerelleştirilebilir bilgilerdir.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Komutu arka plan işi olarak çalıştırır. Tamamlanması uzun süren komutları çalıştırmak için bu parametreyi kullanın.

AsJob parametresini kullandığınızda, komut arka plan işini temsil eden bir nesne döndürür ve ardından komut istemini görüntüler. İş tamamlarken oturumda çalışmaya devam edebilirsiniz. ComputerName parametresiyle kullanılırsaGet-WmiObject, iş yerel bilgisayarda oluşturulur ve uzak bilgisayarlardan elde edilen sonuçlar otomatik olarak yerel bilgisayara döndürülür. İşi yönetmek için, isim içeren cmdlet'leri Job kullanın. İş sonuçlarını almak için cmdlet'ini Receive-Job kullanın.

Windows PowerShell arka plan işleri hakkında daha fazla bilgi için bkz . about_Jobs ve about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

WMI bağlantısıyla kullanılacak kimlik doğrulama düzeyini belirtir. Geçerli değerler:

  • -1: Değişmedi
  • 0: Varsayılan
  • 1: Hiçbiri (Kimlik doğrulaması yapılmaz.)
  • 2: Bağlan (Kimlik doğrulaması yalnızca istemci uygulamayla bir ilişki kurduğunda gerçekleştirilir.)
  • 3: Çağrı (Kimlik doğrulaması yalnızca uygulama isteği aldığında her çağrının başında gerçekleştirilir.)
  • 4: Paket (Kimlik doğrulaması istemciden alınan tüm verilerde gerçekleştirilir.)
  • 5: PacketIntegrity (İstemci ile uygulama arasında aktarılan tüm veriler doğrulanır ve doğrulanır.)
  • 6: PacketPrivacy (Diğer kimlik doğrulama düzeylerinin özellikleri kullanılır ve tüm veriler şifrelenir.)
Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authority

WMI bağlantısının kimliğini doğrulamak için kullanılacak yetkiyi belirtir. Standart NTLM veya Kerberos kimlik doğrulaması belirtebilirsiniz. NTLM'yi kullanmak için yetkili ayarını ntlmdomain:<DomainName>olarak ayarlayın; burada <DomainName> geçerli bir NTLM etki alanı adı tanımlar. Kerberos kullanmak için belirtin kerberos:<DomainName>\<ServerName>. Yerel bilgisayara bağlanırken yetkili ayarını ekleyemezsiniz.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Class

WMI sınıfının adını belirtir. Bu parametre kullanıldığında, cmdlet WMI sınıfının örneklerini alır.

Type:String
Aliases:ClassName
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Yönetim işlemi için hedef bilgisayarı belirtir. Tam etki alanı adı (FQDN), NetBIOS adı veya IP adresi girin. Uzak bilgisayar yerel bilgisayardan farklı bir etki alanında olduğunda, tam etki alanı adı gereklidir.

Varsayılan, yerel bilgisayardır. Bilgisayar adları listesinde olduğu gibi yerel bilgisayarı belirtmek için, yerel bilgisayar adını veya nokta (. ) kullanınlocalhost.

Uzak bir bilgisayar belirtirken, geçerli hesabınızın veya Kimlik Bilgisi parametresiyle belirttiğiniz hesabın bilgilere erişmek için uygun izinlere sahip olması gerekir.

Bu parametre, WS-Management kullanan Windows PowerShell uzaktan iletişimini kullanmaz. Bilgisayarınız WS-Management uzak komutlarını çalıştıracak şekilde yapılandırılmamış olsa bile computername parametresini Get-WmiObject kullanabilirsiniz.

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır. , Domain01\User01veya User@Contoso.comgibi User01bir kullanıcı adı yazın. Veya cmdlet'i tarafından Get-Credential döndürülen bir nesne gibi bir PSCredential nesnesi girin. Bir kullanıcı adı yazdığınızda parola girmeniz istenir. Yerel bilgisayar hedeflendiğinde kimlik bilgileri kullanılamaz.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectRead

Temel sınıfına veya türetilmiş sınıflarına bakılmaksızın belirtilen sınıf için WMI sağlayıcısına doğrudan erişim isteyip istemediğinizi belirtir.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAllPrivileges

Komut WMI çağrısından önce geçerli kullanıcının tüm ayrıcalıklarını etkinleştirir.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Filtre olarak kullanılacak where yan tümcesini belirtir. WMI Sorgu Dilinin (WQL) söz dizimini kullanır.

Önemli

Parametresinin değerine Where anahtar sözcüğünü eklemeyin. Örneğin aşağıdaki komutlar, Where anahtar sözcüğünü kullanmadan yalnızca DeviceID c: değeri ve 'WinRM' adına sahip hizmetlere sahip mantıksal diskleri döndürür.

Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "

Get-WmiObject win32_service -filter "name='WinRM'"

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Kullanılacak kimliğe bürünme düzeyini belirtir.

Bu parametrenin kabul edilebilir değerleri şunlardır:

  • 0: Varsayılan. Varsayılan kimliğe bürünme düzeyi için yerel kayıt defterini okur. Varsayılan değer genellikle Kimliğe Bürün olarak ayarlanır.
  • 1: Anonim. Çağıranın kimlik bilgilerini gizler.
  • 2: Tanımla... Nesnelerin çağıranın kimlik bilgilerini sorgulamasına izin verir.
  • 3: Kimliğine bürün. Nesnelerin çağıranın kimlik bilgilerini kullanmasına izin verir.
  • 4: Temsilci. Nesnelerin diğer nesnelerin çağıranın kimlik bilgilerini kullanmasına izin vermesine izin verir.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-List

Namespace parametresi tarafından belirtilen WMI deposu ad alanında WMI sınıflarının adlarını alır.

List parametresini belirtirseniz ancak Namespace parametresini belirtmezseniz, Get-WmiObject varsayılan olarak Root\Cimv2 ad alanını kullanır. Bu cmdlet, varsayılan ad alanını belirlemek için kayıt defteri anahtarındaki HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting Varsayılan Ad Alanı kayıt defteri girdisini kullanmaz.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Locale

WMI nesneleri için tercih edilen yerel ayarı belirtir. Biçimde bir değer MS_<LCID> girin.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Sınıf parametresiyle kullanıldığında, Namespace parametresi belirtilen WMI sınıfının bulunduğu WMI deposu ad alanını belirtir. List parametresiyle kullanıldığında, WMI sınıf bilgilerinin toplandığı ad alanını belirtir.

Type:String
Aliases:NS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Bu cmdlet'in bilgi aldığı WMI sınıfı özelliklerini belirtir. Özellik adlarını girin.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

Belirtilen WMI Sorgu Dili (WQL) deyimini çalıştırır. Bu parametre olay sorgularını desteklemez.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Recurse

Geçerli ad alanında ve diğer tüm ad alanında Sınıf parametresi tarafından belirtilen sınıf adını arar.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Aynı anda yürütülebilecek en fazla WMI işlemi sayısını belirtir. Bu parametre yalnızca komutunda AsJob parametresi kullanıldığında geçerlidir.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

None

Girişi öğesine yöneltemezsiniz Get-WmiObject.

Çıkışlar

PSObject or System.Management.Automation.RemotingJob

AsJob parametresini kullandığınızda, cmdlet bir iş nesnesi döndürür. Aksi takdirde, döndüren Get-WmiObject nesne Class parametresinin değerine bağlıdır.

Notlar

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

  • gwmi

Uzak bilgisayardaki WMI bilgilerine erişmek için cmdlet'in uzak bilgisayardaki yerel yöneticiler grubunun üyesi olan bir hesap altında çalışması gerekir. Veya uzak deponun WMI ad alanında varsayılan erişim denetimi, diğer hesaplara erişim hakları verecek şekilde değiştirilebilir.

Varsayılan olarak her WMI sınıfının yalnızca bazı özellikleri görüntülenir. Her WMI sınıfı için görüntülenen özellikler kümesi yapılandırma dosyasında belirtilir Types.ps1xml . Bir WMI nesnesinin tüm özelliklerini almak için veya Format-List cmdlet'lerini Get-Member kullanın.