1. Ana Sayfa
  2. Microsoft PowerShell
  3. Microsoft PowerShell – Querying with WMI and CIM – Remote Computers – Bölüm 3

Microsoft PowerShell – Querying with WMI and CIM – Remote Computers – Bölüm 3

Microsoft PowerShell – Querying with WMI and CIM – Remote Computers – Bölüm 3. Şu ana kadar anlattığım kısımlarda genel olarak komutları kullanıp Local bilgisayar üzerindeki Repository’e sorgu yaptık.

CM ve WMI aynı zamanda uzaktaki bir bilgisayara da sorgu yapabilirler. Bu işlemi yaparken komuta ek olarak bağlanılacak makine ismi ve kimlik bilgilerininde girilmesi gerekir.

Uzak bilgisayara sorgu yapılırken;

  • -ComputerName parametresi ile uzak makine ismi belirlenir.
  • -Credential ile uzak makineye bağlantı kuracak alternatif kimlik bilgisi belirlenir.

 


Resim-1

WMI komutları için uzak bilgisayara bağlanmak için kullanılan komut örneği aşağıdaki gibidir.

Get-WmiObject –ComputerName FRT-SRV1 –Credential FRT\Administrator –Class Win32_LogicalDisk

-ComputerName parametresine virgül kullanarak birden fazla makine ismi girilebilir. Bunun sonucunda PowerShell ilgili komutu ismi verilen tüm bilgisayarlara bağlanıp çalıştıracaktır. Çalıştıramadıkları ile ilgili hatayı da komut çıktısına yazacaktır.

CIM komutu da aynı parametreleri desteklemektedir. Bununla birlikte aynı bilgisayar üzerinden birden çok Class’a sorgu atılacaksa performansı da göz önünde bulundurup kalıcı CIMSession oluşturmak tercih edilen yöntem olmalıdır.

CIM komutları ad hoc bağlantılar için WS-MAN protokolünü kullanır. Bu protokolün bazı kimlik doğrulama gereksinimleri vardır. Komut üzerinde bilgisayar ismini Active Directory’de yer aldığı gibi kullanmak gerekir. IP ya da Alias kabul etmez.

CIM Session:

CIM Session WS-MAN ya da DCOM protokolleri ile yapılan uzak bilgisayara yapılan kalıcı bağlantıdır. Session kurulduktan sonra bir den çok Query uzak bilgisayar üzerinde çalıştırılabilir.

WMI komutlarındaki gibi bir den çok ad hoc bağlantı kurmak yerine bu şekilde uzak bilgisayar üzerinde Session kurup bir den çok komut çalıştırmak performans bakımından da daha iyidir.

CIM Session kurmak için gerekli komutlar aşağıdaki gibidir.

Öncelikle Session kurulur ve bir değişkene atanır. Computer isimleri arasına virgül koyularak birden fazla uzak bilgisayar üzerinde Session oluşturulabilir.


Resim-2

Oluşturulan Session kullanılarak uzak bilgisayar üzerindeki Instance’lara sorgu atılır.


Resim-3

Bu komutlar genel olarak domain ortamında çalışması için dizayn edilmişlerdir. Yani iletişim kuran makineler aynı domain içerisinde ya da bir birine güvenmiş Domain’lerde olmaları gerekir. Eğer domainde olmayan ya da güven duyulmayan domainde olan bir uzak bilgisayar üzerinde Session oluşturulmak istenirse bazı ek konfigürasyonlar yapılması gerekir. Aksi takdirde PowerShell ekranına aşağıdaki hatalar yansıyacaktır. Yapılacak konfigürasyon uzak bilgisayarı Trusted Host olarak eklemektir.


Resim-4

Uzak bilgisayar Trusted Host olarak aşağıdaki şekilde Group Policy üzerinden eklendiğinde komut satırındaki hata değişecektir.


Resim-5

Hatanın sebebi uzak makineye bağlanırken gerekli yetkilere sahip olmamaktır.


Resim-6

Uzak makineye bağlanırken -Credential parametresi ile uzak makinede yetkili bir hesap girilmesi gerekir. Yetkili Account girilip komut çalıştırıldığında Credential ekranı görünecektir. Bu ekrana parola girilip çalıştırıldığında komut düzgün şekilde çalışacaktır.


Resim-7


Resim-8

Şu ana kadar uzak makineye bağlanırken WS-MAN protokolünü kullandık. Şimdi de DCOM protokolü ile nasıl bağlantı sağlanacağını görelim.

CIM Session oluşturulmadan önce oluşturulacak Session için Option oluşturulur.


Resim-9

Ardından oluşturulan Session Option kullanılarak CIM Session oluşturulur.


Resim-10

Son olarak Session kullanılarak Repository’e sorgu yapılır.


Resim-11

CIM Session oluşturulduktan sonra kullanıldığı süre boyunca açık kalır. Sistem tabanlı olarak bir time-out süresi vardır. Bu süre dolduğunda kullanılmayan Session’lar kapatılır. Ancak istenildiği takdirde manuel olarak da Session’lar kapatılabilir.

Değişken içerisinde tutulan bir Session’ı sonlandırmak için Remove-CIMSession komutunu çalıştırmak yeterlidir.


Resim-12

Ya da tüm Session’lar kapatılmak istenirse komut aşağıdaki şekilde çalıştırılmalıdır.


Resim-13

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs : Microsoft PowerShell – Querying with WMI and CIM, , , , , , , , ,

Yorum Yap

Yazar Hakkında

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yorum Yap