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.