PowerShell WMI ve CIM Yapıları kullanılarak Remote Bilgisayarlara Müdahale

Selamlar arkadaşlar bu makalemde sizlere PowerShell ile uzaktaki makinelara müdahale etmeyi göstereceğim.

Yukarıda resimde bulunan kodlar sayesinde uzak bilgisayarda bulunan Spooler servisinin durdurma ve başlatma gibi işlemler yapacağız.

> $Bilgisayarlar = Get-ADComputer –Filter *
// AD içerisinde bulunan cihazların adlarını değişkenimize atadık.

> Get-WmiObject –Query “Select * From Win32_Service Where Name = ‘Spooler’” –ComputerName $Bilgisayarlar.Name | fl PSComputerName,Name,State,Status
//Kodu sayesinde Spooler servisi hakkında belirli bilgisayar adlarından bilgi almak istediğimizi ve Gelen bilgilerden Bilgisayar adını, Servis adını, Durumunu ve Çalışıp Çalışmadığı bilgilerini istedik.

> Get-WmiObject Win32_Service | Get-Member
// Komutu yardımıyla Win32_Service Class’ında bulunan Method ve Property değerlerini Get-Member ile görebiliyoruz. Biz durdurma ve başlatma yapacağımızdan dolayı StartService ve StopService bizim için yeterli olacaktır.

> Get-WmiObject –Query “Select * From Win32_Service Where Name = ‘Spooler’” –ComputerName $Bilgisayarlar.Name | Invoke-WmiMethod –Name StopService
// Kodumunuzun sonuna | (Pipe) ile birlikte Invoke-WmiMethod yazıp –Name parametresi ile Property’i (StopService , Get-Memberdan bakmıştık.) yazmanız durumunda uzak bilgisayarda o özelliği çalıştıracaktır. Daha sonra tekrar servisleri sorgulayarak State durumlarından durduklarını görebilirsiniz.

Bu sorguları ve işlemleri CIM ile yapmak istiyorsanız bir kaç parametre değiştirmelisiniz. Get-CimInstance ile Servisi sorgulayabilir ve Invoke-CimMethod –MethodName ile de uzak bilgisayarda komutu çalıştırabilirsiniz.

Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.

Bir Cevap Yazın