Aracılığıyla paylaş


about_WMI_Cmdlets

Kısa açıklama

Windows Yönetim Araçları (WMI) ve Windows PowerShell hakkında arka plan bilgileri sağlar.

Uzun açıklama

Bu konu, WMI teknolojisi, Windows PowerShell için WMI cmdlet'leri, WMI tabanlı uzaktan iletişim, WMI hızlandırıcıları ve WMI sorun giderme hakkında bilgi sağlar. Bu konu, WMI hakkında daha fazla bilgi için bağlantılar da sağlar.

WMI HAKKINDA

Windows Yönetim Araçları (WMI), bir kuruluş ortamında yönetim bilgilerine erişmek için standart bir teknoloji geliştirmeyi amaçlayan bir endüstri girişimi olan Web Tabanlı Kuruluş Yönetimi (WBEM) Microsoft uygulamasıdır. WMI, sistemleri, uygulamaları, ağları, cihazları ve yönetilen diğer bileşenleri temsil etmek için Genel Bilgi Modeli (CIM) endüstri standardını kullanır. CIM, Dağıtılmış Yönetim Görev Gücü (DMTF) tarafından geliştirilmiş ve sağlanmıştır. Hem yerel hem de uzak bilgisayarları yönetmek için WMI kullanabilirsiniz. Örneğin, aşağıdakileri yapmak için WMI kullanabilirsiniz:

  • Uzak bilgisayarda bir işlem başlatın.
  • Bilgisayarı uzaktan yeniden başlatın.
  • Yerel veya uzak bir bilgisayara yüklenen uygulamaların listesini alın.
  • Yerel veya uzak bir bilgisayarda Windows olay günlüklerini sorgula.

WINDOWS POWERSHELL IÇIN WMI CMDLET'LERI

Windows PowerShell, varsayılan olarak Windows PowerShell'de kullanılabilen bir dizi cmdlet aracılığıyla WMI işlevselliğini uygular. Yerel ve uzak bilgisayarları yönetmek için gereken uçtan uca görevleri tamamlamak için bu cmdlet'leri kullanabilirsiniz.

Aşağıdaki WMI cmdlet'leri eklenmiştir.

Cmdlet Açıklama
Get-WmiObject WMI sınıflarının veya bilgilerinin örneklerini alır
kullanılabilir sınıflar hakkında.
Invoke-WmiMethod WMI yöntemlerini çağırır.
Register-WmiEvent Bir WMI olayına abonedir.
Remove-WmiObject WMI sınıflarını ve örneklerini siler.
Set-WmiInstance WMI sınıflarının örneklerini oluşturur veya değiştirir.

ÖRNEK KOMUTLAR

Aşağıdaki komut, yerel bilgisayarın BIOS bilgilerini görüntüler.

C:\PS> get-wmiobject win32_bios | format-list *

Aşağıdaki komut, üç uzak bilgisayar için WinRM hizmeti hakkındaki bilgileri görüntüler.

$wql = "select * from win32_service where name='WinRM'"
get-wmiobject -query $wql -computername server01, server01, server03

Aşağıdaki daha karmaşık komut bir programın tüm örneklerinden çıkar.

C:\PS> notepad.exe
C:\PS> $wql = "select * from win32_process where name='notepad.exe'"
C:\PS> $np = get-wmiobject -query $wql
C:\PS> $np | remove-wmiobject

WMI TABANLı UZAKTAN İLETIŞIM

Yerel bir sistemi WMI aracılığıyla yönetme özelliği yararlı olsa da, WMI'yi güçlü bir yönetim aracı haline getiren uzaktan iletişim özellikleridir. WMI, sistemlere bağlanmak ve sistemleri yönetmek için Microsoft'un Dağıtılmış Bileşen Nesne Modeli'ni (DCOM) kullanır. DCOM bağlantılarına izin vermek için bazı sistemleri yapılandırmanız gerekebilir. Güvenlik duvarı ayarları ve kilitli DCOM izinleri WMI'nin sistemleri uzaktan yönetme becerisini engelleyebilir.

WMI TÜR HıZLANDıRıCıLARı

Windows PowerShell, WMI tür hızlandırıcıları içerir. Bu WMI tür hızlandırıcıları (kısayollar), tür olmayan bir hızlandırıcı yaklaşımının izin vermekten daha fazla WMI nesnelerine doğrudan erişim sağlar.

Wmi ile aşağıdaki tür hızlandırıcıları desteklenir:

[WMISEARCHER] - WMI nesnelerini aramak için bir kısayol.

[WMICLASS] - Bir sınıfın statik özelliklerine ve yöntemlerine erişmek için bir kısayol.

[WMI] - Sınıfın tek bir örneğini almak için bir kısayol.

[WMISEARCHER] bir ManagementObjectSearcher için bir tür hızlandırıcısı. Daha sonra get() yapabileceğiniz bir arama oluşturucu oluşturmak için dize oluşturucuyu kullanabilirsiniz.

Örneğin:

PS> $s = [WmiSearcher]'Select * from Win32_Process where Handlecount > 1000'
PS> $s.Get() |sort handlecount |ft handlecount,__path,name -auto

count  __PATH                                              name
-----  ------                                              ----
1105   \\SERVER01\root\cimv2:Win32_Process.Handle="3724"   PowerShell...
1132   \\SERVER01\root\cimv2:Win32_Process.Handle="1388"   winlogon.exe
1495   \\SERVER01\root\cimv2:Win32_Process.Handle="2852"   iexplore.exe
1699   \\SERVER01\root\cimv2:Win32_Process.Handle="1204"   OUTLOOK.EXE
1719   \\SERVER01\root\cimv2:Win32_Process.Handle="1912"   iexplore.exe
2579   \\SERVER01\root\cimv2:Win32_Process.Handle="1768"   svchost.exe

[WMICLASS] ManagementClass için bir tür hızlandırıcısı. Bu, bir WMI sınıfına yerel veya mutlak BIR WMI yolu alan ve bu sınıfa bağlı bir nesne döndüren bir dize oluşturucuya sahiptir.

Örneğin:

PS> $c = [WMICLASS]"root\cimv2:WIn32_Process"
PS> $c |fl *
Name             : Win32_Process
__GENUS          : 1
__CLASS          : Win32_Process
__SUPERCLASS     : CIM_Process
__DYNASTY        : CIM_ManagedSystemElement
__RELPATH        : Win32_Process
__PROPERTY_COUNT : 45
__DERIVATION     : {CIM_Process, CIM_LogicalElement,
                   CIM_ManagedSystemElement}
__SERVER         : SERVER01
__NAMESPACE      : ROOT\cimv2
__PATH           : \\SERVER01\ROOT\cimv2:Win32_Process

[WMI], ManagementObject için bir tür hızlandırıcısı. Bu, bir WMI örneğine yerel veya mutlak bir WMI yolu alan ve bu örneğe bağlı bir nesne döndüren bir dize oluşturucuya sahiptir.

Örneğin:

PS> $p = [WMI]'\\SERVER01\root\cimv2:Win32_Process.Handle="1204"'
PS> $p.Name
OUTLOOK.EXE

WMI SORUN GIDERME

Aşağıdaki sorunlar, uzak bir bilgisayara bağlanmaya çalıştığınızda oluşabilecek en yaygın sorunlardır.

Sorun 1: Uzak bilgisayar çevrimiçi değil.

Bir bilgisayar çevrimdışıysa, WMI kullanarak bilgisayara bağlanamazsınız. Aşağıdaki hata iletisini alabilirsiniz:

Remote server machine does not exist or is unavailable

Bu hata iletisini alırsanız, bilgisayarın çevrimiçi olduğunu doğrulayın. Uzak bilgisayara ping göndermeyi deneyin.

Sorun 2: Uzak bilgisayarda yerel yönetici haklarınız yok.

WMI'yi uzaktan kullanmak için uzak bilgisayarda yerel yönetici haklarına sahip olmanız gerekir. Bunu yapmazsanız, bu bilgisayara erişim reddedilir.

Ad alanı güvenliğini doğrulamak için:

  1. Başlat'a tıklayın, Bilgisayarım'a sağ tıklayın ve ardından Yönet'e tıklayın.
  2. Bilgisayar Yönetimi'nde Hizmetler ve Uygulamalar'ı genişletin, WMI Denetimi'ne sağ tıklayın ve özellikler'e tıklayın.
  3. WMI Denetim Özellikleri iletişim kutusunda Güvenlik sekmesine tıklayın.

Sorun 3: Güvenlik duvarı uzak bilgisayara erişimi engelliyor.

WMI, ağdan geçiş yapmak için DCOM (Dağıtılmış COM) ve RPC (Uzaktan Yordam Çağrısı) protokollerini kullanır. Varsayılan olarak, birçok güvenlik duvarı DCOM ve RPC trafiğini engeller. Güvenlik duvarınız bu protokolleri engelliyorsa bağlantınız başarısız olur. Örneğin, Microsoft Windows XP Service Pack 2'deki Windows Güvenlik Duvarı, DCOM ve WMI dahil olmak üzere tüm istenmeyen ağ trafiğini otomatik olarak engelleyecek şekilde yapılandırılmıştır. Varsayılan yapılandırmasında, Windows Güvenlik Duvarı gelen bir WMI isteğini reddeder ve aşağıdaki hata iletisini alırsınız:

Remote server machine does not exist or is unavailable

Ayrıca bkz.