Maintenance mode’a computer nesnesini powershell de nasıl scheduled olarak alırız?

Operations manager da en çok sorulan ve sanırım fenomen haline gelen soru, "her gün standard olarak şu saatte makinalarımızda bakım yapıyoruz ama o zamanlarda çok alert geliyor, konsoldan sürekli olarak hegün maintenance mode almak durumdayız fakat gecenin bir vakti bağlanıp bu işlemi yapmak çom zor". Standard konsol geçekten bu konuda sizin ihtiyacınızı karşılayamıyabilir ama hemen yardımımıza powershell koşacaktır. Bu konuda bir çok değişik kaynağa ulaşabilirsiniz ama bu çalışmam sanırım ihtiyaçlara fazla ile cevap verecek nitelikte.

Aşağıda yazmış olduğum kodu ps1 uzantılı bir dosya olarak kayıt edebilirsiniz, ben örneğimde maintenance.ps1 ismini kullandım.

param($rootMS)

Add-PSSnapin "Microsoft.EnterpriseManagement.OperationsManager.Client" -ErrorVariable errSnapin;
Set-Location "OperationsManagerMonitoring::" -ErrorVariable errSnapin;
new-managementGroupConnection -ConnectionString:$rootMS -ErrorVariable errSnapin;
set-location $rootMS -ErrorVariable errSnapin;

$computer = Get-Agent | where {$_.Name -like "Makine_ismi_yada_isim_başlangıçları*"}
$computer.HostComputer | New-MaintenanceWindow -StartTime ([datetime]::now) -EndTime ([datetime]::now).addhours(6) -Comment "Maintenance"
write-eventlog -computername $rootms -logname "Operations Manager" -source "Health Service Modules" -eventID 999 -message "Maintenance mode script started"

Şimdi bir bat dosyası oluşturup içine şunları yazın

powershell.exe "&'c:\MaintenanceCluster.ps1' RMS_ismi"

ben yine maintenance.bat olarak kayıt ettim. Daha sonra bu bat dosyasını task scheduler dan hangi saatte başlamasını istiyorsanız ayarlayın.

Bu powershell kodu, 6 saat için maintenance moduna computer objesini alacaktır, istenildiği takdirde bunu parametre olarak da tanımlayabilirsiniz. Ayrıca maintenance mode başladığında operations manager event loguna 999 bumaralı bir log düşerek takibi kolaylaştıracaktır.

önemli bir not New-maintenance cmdlet'i -starttime olarak ileri bir tarih desteklememektedir.

Gültekin Bütün