Aracılığıyla paylaş


WMI İstemcileri Oluşturma

WMI, bir dizi farklı istemci tarafından yararlanabilen standartlaştırılmış bir sistem yönetimi altyapısı sağlar. Bu istemciler, wmic.exe komut satırı aracından System Center Operations Manager'a kadar değişir. WMI Betik API'sini, yerel C++ API'sini veya System.Management .NET Framework sınıf kitaplığı ad alanı içindeki türleri kullanarak kendi WMI istemcilerinizi yazabilirsiniz.

WMI istemcisi oluşturma

WMI'nin temel işlevi, WMI deposundan nesne almak ve bu nesnelerin özelliklerini incelemekten oluşur. Ayrıca bu özellikleri güncelleştirmeyi veya bu özelliklerde yöntemleri çağırmayı da seçebilirsiniz. Aşağıdaki örneklerde temel bir WMI yönetim görevinin nasıl gerçekleştirilmesi gösterilmektedir: yerel bilgisayarın adını alma.

Terim Açıklama
PowerShell ile istemci oluşturma
WMI ve PowerShell derin bir şekilde entegre edilmiştir; bu nedenle, PowerShell ile WMI nesnelerini almak, yalnızca Get-WmiObject cmdlet'ini kullanarak gerçekleştirilir. Tutarlılık için, ilk kod parçacığının varsayılan değerlerin çoğunu açıkça belirttiğini unutmayın; İkincisi, varsayılan değerlerin doğru olduğunu varsayar.

PowerShell
              
              #explicitly varsayılan parametrelerin çoğunu belirtir $myComputer = Get-WmiObject -ComputerName "." -Namespace "root\cimv2" -Query "SELECT * FROM Win32_ComputerSystem" foreach ($computer in $myComputer) { "Sistem Adı: " + $computer.name } 

#assumes the default values are correct Get-WmiObject Win32_ComputerSystem | Format-Table "Name"

VBScript ile istemci oluşturma

VBScript, WMI ile yaygın olarak kullanılan özgün betik diliydi. PowerShell daha popüler hale gelmiş olsa da, bu belgelerdeki mevcut kod örneklerinin çoğu VBScript'te yazılmıştır. Bu belirli VBScript örneğinin hem yerel makine yolunu hem de kimliğe bürünme düzeyini açıkça belirttiğini unutmayın; bu gerekli değildir, ancak genellikle en iyi uygulamadır.

VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objItem in colItems
    Wscript.Echo "Computer Name: " & objItem.Name
Next

C# ile istemci oluşturma (Microsoft.Management.Infrastructure)

Bu ad alanı, yönetilen kodla WMI'ye erişmek için geçerli çözümü içerir ve Windows Yönetim Altyapısı (MI veya WMIv2) olarak bilinir. Mi şu anda yönetilen yönetim istemcileri oluşturmak için desteklenen teknolojidir. Daha fazla bilgi için bkz. Yönetilen MI İstemcisi Nasıl Uygulanır ve Yerel MI İstemcisi Nasıl Uygulanır.

C#
Microsoft.Management.Infrastructure kullanarak ; ... CimSession oturum = CimSession.Create("localHost"); IEnumerable<CimInstance> sorguNesnesi = oturum.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_ComputerSystem"); 

foreach (CimInstance cimObj in queryInstance) { Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString()); }

C# ile istemci oluşturma (System.Management)

Bu ad alanı, yönetilen kodla WMI'ye erişmek için özgün çözümü içerir. System.Management sınıfları hala kullanılabilir durumda olsa da, Microsoft.Management.Infrastructure sınıfları genellikle daha verimlidir ve daha iyi ölçeklendirilir. Bu nedenle, özgün WMI sınıfları yerine MI sınıflarını kullanmanız önerilir.

C#
Microsoft.Management.Infrastructure kullanarak ... CimSession session = CimSession.Create("localHost"); IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_ComputerSystem"); 

foreach (CimInstance cimObj in queryInstance) { Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString()); }

Aşağıdaki tabloda bu bölümde ele alınan konular listelanmaktadır.

Konu Açıklama
Uzak Bilgisayarda WMI'ye Bağlanma İstemciler uzak bir bilgisayarda WMI altyapısını kullandığında ortaya çıkan bir dizi sorunu açıklar.
Betikler ve Uygulamalar için WMI Görevlerini Örnek WMI istemci kodunu gösterir.
WMI Uygulaması veya Betik Oluşturma Çeşitli WMI istemcileri oluşturma hakkında bilgi sağlar.
Performans Verilerini İzleme Performans verilerini izlemek için WMI'nin nasıl kullanılacağını açıklar.
WMI Olayı Alma WMI olaylarının nasıl görüntüleyebileceğinizi açıklar.
İzleme Olayları WMI olaylarının nasıl izleneceğini açıklar.
WQL ile Sorgulama WMI Sorgu Dilini (WQL) tanıtır.
İsteğe Bağlı Özelliklerin Durumunu Sorgulama Windows 7'de WMI, Win32_OptionalFeature sınıfını uyguladı. Bu sınıf, bir bilgisayarda bulunan isteğe bağlı özelliklerin durumunu alır.
Bir WMI Nesnesinin Konumunu Açıklama WMI tarafından yönetilen varlığın konumunu açıklama söz dizimine odaklanır.
WMI ile Diğer İşletim Sistemi Özelliklerine Erişme Cihaz sürücülerine, Active Directory'ye ve SNMP cihazlarına erişen WMI istemcilerinin nasıl yazılacağını açıklar.
Birlikte Çalışma Ad Alanında Verilere Erişme İlişkilendirme sağlayıcıları, Windows Yönetim Araçları (WMI) istemcilerinin farklı ad alanlarının profillerini ve ilişkili sınıf örneklerini çapraz geçiş yapmasını ve almasını sağlar.
Sınıf ve Örnek Bilgilerini düzenleme WMI istemcilerinin gerçekleştirmesi gereken yaygın görevleri açıklar.
Sınıfları Birbirine Bağlama Görünüm sağlayıcısını ve birden çok WMI sınıfından bilgileri bir araya getirmek için nasıl kullanılabileceğini açıklar.
Sistem Kayıt Defterini Değiştirme WMI istemcilerinin sistem kayıt defteri bilgilerini yönetmek için WMI'yi nasıl kullanabileceğini açıklar.