Aracılığıyla paylaş


Windows Uzaktan Yönetimi ve WMI

Windows Uzaktan Yönetimi, Windows Yönetim Araçları (WMI ve MI) tarafından kullanıma sunulan verileri almak için kullanılabilir. WinRM Betik OLUŞTURMA API'sini veya Winrm komut satırı aracı aracılığıyla kullanan betikler veya uygulamalarla WMI verilerini alabilirsiniz.

WinRM, ekli nesneler de dahil olmak üzere tanıdık WMI sınıflarının ve işlemlerinin çoğunu destekler. WinRM,kaynakları hakkında veri toplamak veya Windows tabanlı bir işletim sistemindeki kaynakları yönetmek için WMI'yi kullanabilir. Bu, kuruluşunuzdaki diskler, ağ bağdaştırıcıları, hizmetler veya işlemler gibi nesnelerle ilgili verileri mevcutWMI sınıfları kümesi aracılığıyla edinebileceğiniz anlamına gelir. Standart WMI IPMI sağlayıcısıkullanılabilir donanım verilerine de erişebilirsiniz.

WMI Kaynağını Tanımlama

Bir WMI sınıfına WinRM'de ve WS-Management protokolünde kaynak başvurabilirsiniz: hizmet veya disk gibi bir yönetilen varlık türü.

WMI sınıfı veya yöntemi, WS-Management protokolü kullanılırken olduğu gibibir URI ile tanımlanır. URI bir WMI kaynağı (sınıf), WMI eylemi (yöntemi) belirtebilir veya ağ üzerinden gönderileniletilerde sınıfın belirli bir örneğini tanımlayabilir. Daha fazla bilgi için bkz. Kaynak URI'leri.

WMI Sınıfları için URI Ön Eki Oluşturma

URI ön eki sabit bir parça ve WMI ad alanını içerir. Örneğin, Windows Server'da ön ekin sabit bölümünü içeren URI öneki: http://schemas.microsoft.com/wbem/wsman/1/wmi/<WmiNamespace>. Bu, herhangi bir WMI ad alanı için URI ön ekinin oluşturulmasını sağlar. Örneğin, WMI ad alanına root\default erişmek için aşağıdaki URI ön ekini kullanın: http://schemas.microsoft.com/wbem/wsman/1/wmi/root/default/.

Yönetim için WMI sınıflarının çoğu root\cimv2 ad alanındadır. root\cimv2 ad alanında sınıflara ve örneklere erişmek için URI ön ekini kullanın: http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/. Daha fazla bilgi için bkz. Kaynak URI'leri.

WMI Sınıfları için Eksiksiz bir URI Oluşturma

Winrm komut satırı aracına veya bir betike sağladığınız URI, ön ek ve kaynak belirtimlerinden oluşur.

Aşağıdaki yordamda, WMI sınıfı almak veya numaralandırma işleminde kullanmak için kaynak URI'sinin nasıl oluşturulacağı açıklanır.

WMI sınıfı için kaynak URI'sini oluşturmak için

  1. WS-Management protokol şemasının kullanılması gerektiğini belirten ön ek ile başlayın.

    https://schemas.microsoft.com/wbem/wsman/1

    WMI sınıfları için kaynak URI ön eki her zaman aynıdır. Daha fazla bilgi için bkz. URI Ön Ekleri.

  2. Ön eke WMI ad alanını ekleyin.

    http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/

  3. Sınıf adını ekleyin.

    http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service

  4. Bir özelliğin değerini ayarlamak veya belirli bir yöntemi çağırmak için, sınıfı için gerekli anahtar değerini veya değerlerini ekleyin.

    http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt

    Anahtar değerini boş bırakırsanız özgün özellik değerini değiştirmezsiniz.

    Not

    Anahtar değerini boş bırakmak, özellik değerini NULL olarak ayarlar.

     

WinRM ile WMI Kaynağını Bulma

WMI verilerini komut satırı aracı, winrm veya WinRM Betik OLUŞTURMA API'sikullanan bir Visual Basic betiği aracılığıyla alabilirsiniz. Bir kaynağı bulmak için WMI yolu kullanmazsınız. Bunun yerine WMI ad alanını ve hiyerarşisiniURI'sine dönüştürürsiniz.

Bir WMI sınıfının WinRM URI'si iki bölüm içerir: URI ön eki ve erişmek istediğiniz sınıf.

Örneğin, bir bilgisayardaki tüm hizmetleri listelemek için Session.Enumerate yöntemine aşağıdaki URI sağlanabilir. URI ön eki http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/ve sınıfı Win32_Service.

strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_CurrentTime"

WMI'da, bir kaynağın veya sınıfın tüm örneklerinin verilerini çeşitli yollarla listeleyin:

WinRM'de, bir kaynağın tüm örneklerini listelemenin bir yolu vardır: Session.numaralandırma.

strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service"
Set colServices = objSession.Enumerate( strResource )

WMI Kaynağının Belirli Bir Örneğini Bulma

WMI'de, anahtar özellikleri için değerler belirterek veya özellik değerleri listesiyle eşleşen bir örneği sorgulayarak sınıfın belirli bir örneğini belirleyebilirsiniz. Anahtar özellikleri,WMIAnahtar niteleyicisine sahiptir.

Bir sınıfın belirli bir örneğini çeşitli yollarla elde edebilirsiniz:

  • Session.Enumerate için filtre ve diyalekt parametreleriyle bir sorgu oluşturun.

    RemoteComputer = "servername.domain.com"
    strDialect = "http://schemas.microsoft.com/wbem/wsman/1/WQL"
    strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/*"
    Set objWsman = CreateObject("Wsman.Automation")
    Set objSession = objWsman.CreateSession("https://" & RemoteComputer)
    
    strFilter = "SELECT * FROM Win32_Share WHERE Name='Admin$'"
    Set objResultSet = objSession.Enumerate(strResource, strFilter, strDialect)
    
  • SWbemServices.Getçağrısı. Session.Getiçin, önünde soru işareti (?) olan bir veya daha fazla özel anahtar değeri sağlamanız gerekir.

    Belirli bir örneğin URI'sinin biçimi http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/WMI_Class?Key1=Value.

    strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=winmgmt"
    

    Wmi sınıfının birden fazla anahtarı olabilir. Anahtar adı-değer çiftleri bir "+" işaretiyle ayrılır. Bu durumda, biçim: http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Key1=Value1+Key2=Value2.

    Tek bir WMI nesnesi elde etmek için WinRM söz dizimi WMI'den farklıdır. Tekil, yalnızca bir örneğe izin verildiğinden tanımlanmış bir WMI sınıfıdır. Win32_CurrentTime veya Win32_WMISetting, WMI tekli sınıfına örnektir.

    Tektonlar için WMI söz dizimi aşağıdaki VBScript kod örneğinde gösterilmiştir.

    Set TimeObject = objWMIService.Get("Win32_CurrentTime=@")
    

    Aşağıdaki örnek, "@" kullanmayan WinRM tekil söz dizimini gösterir.

    strResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_CurrentTime"
    
  • ResourceLocator veya IWSManResourceLocator nesnesine seçici ekleme.

    Aşağıdaki VBScript kod örneği, belirli bir Win32_Processorörneğini almak için seçicinin nasıl kullanılacağını gösterir.

    strUri = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Processor"
    Set objWsman = CreateObject("Wsman.Automation")
    Set Session = objWsman.CreateSession
    Set Locator = objWsman.CreateResourceLocator(strUri)
    Locator.AddSelector "DeviceID", "CPU0"
    

Windows Uzaktan Yönetim Hakkında

URI Ön Ekleri

kaynak URI'lerini

Windows Uzaktan Yönetim 'de Betik Oluşturma