Server 2012 de Cluster Aware Update (CAU) ile Clustera üye hostların windows updatelerini otomatik olarak yaptırabiliyoruz. Bunu daha önceki bir yazımda anlatmıştım.

http://www.mslinuxtr.com/server-2012-cluster-aware-updating/

Burada ise deginecegimiz konu şu;

Bir çok lokasyonu olan ve her lokasyonda bir yada birkaç hypervcluster ı bulunan bir ortamda oldugunuzu düşünün. CAU ile tek tek tüm clusterlara baglanıp CAU statusunu kontrol etmek hem çok zaman alacak hemde çok yorucu bir çalısma olacaktır. Bu durumda bir powershell script ile belirli bir zaman aralıgında tüm clusterlarınızın CAU statusunu görebilir bunu kendinize bir txt file olarak mail attırabilirsiniz.

  1. Script

    # Microsoft Windows Server 2012 Hyperv&FailOver Cluster CAU Update Status Script

    # Osman Bagislanan 08/02/2016

    param

    (

    )

    Write-Host “”

    Write-Host “###################################################################” -ForegroundColor Green

    Write-Host “”

    Write-Host “”

    Write-Host “Microsoft Windows Server 2012 Hyperv&FailOver Cluster CAU Update Status Script” -ForegroundColor Green

    Write-Host “”

    Write-Host “”

    Write-Host “Osman Bagislanan 2016” -ForegroundColor Yellow

    Write-Host “”

    Write-Host “”

    Write-Host “###################################################################” -ForegroundColor Green

    Write-Host “”

    Start-Sleep -Seconds 0

    Get-CauReport -ClusterName ADANA-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName ANTALYA-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName ANKARA-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName ARTVIN-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName BURSA-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName BOLU-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName BAYBURT-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName DENIZLI-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName ELAZIG-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName ESKISEHIR-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName GIRESUN-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName IZMIR-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Get-CauReport -ClusterName ISTANBUL-CLS1HV -StartDate 01/02/2016 -EndDate 25/02/2016

    Bu script clusterlarınızın CAU statuslarınız listeler. Bu scripti bir txt ye yazıp CAUStatus.ps1 olarak kaydedelim.

    2.Script

    # Microsoft Windows Server 2012 Hyperv&FailOver Cluster CAU Update Status Script

    # Osman Bagislanan 08/02/2016

    param

    (

    )

    Write-Host “”

    Write-Host “###################################################################” -ForegroundColor Green

    Write-Host “”

    Write-Host “”

    Write-Host “Microsoft Windows Server 2012 Hyperv&FailOver Cluster CAU Update Status Script” -ForegroundColor Green

    Write-Host “”

    Write-Host “”

    Write-Host “Osman Bagislanan 2016” -ForegroundColor Yellow

    Write-Host “”

    Write-Host “”

    Write-Host “###################################################################” -ForegroundColor Green

    Write-Host “”

    Start-Sleep -Seconds 0

    #Tum Stadlar CAU Status

    $A = C:\Script\CAUControlScript\CAUStatus.ps1| out-file -Filepath C:\Script\CAUControlScript\CAUStatusScriptLogs.txt

    ##############################################################################################################################

    $emailFrom = “CAUStatus@yourdomain.com”

    $emailTo = “yourname@yourdomain.com”

    $subject = “CAUStatus”

    $body = “$A”

    $smtpServer = “your smtp server adressl”

    $filePath = “C:\Script\CAUControlScript\CAUStatusScriptLogs.txt”

    Function sendEmail([string]$emailFrom, [string]$emailTo, [string]$subject,[string]$body,[string]$smtpServer,[string]$filePath)

    {

    #initate message

    $email = New-Object System.Net.Mail.MailMessage

    $email.From = $emailFrom

    $email.To.Add($emailTo)

    $email.Subject = $subject

    $email.Body = $Body

    # initiate email attachment

    $emailAttach = New-Object System.Net.Mail.Attachment $filePath

    $email.Attachments.Add($emailAttach)

    #initiate sending email

    $smtp = new-object Net.Mail.SmtpClient($smtpServer)

    $smtp.Send($email)

    }

    #Call Function

    sendEmail $emailFrom $emailTo $subject $body $smtpServer $filePath

    #############################################################################################################################

    Bu script ise sunu yapar. Önce birinci scripti çalıstırıp CAU statusuna bakar sonra aldıgı çıktıyı bir txt ye yazıp size mail atar. Bu kodlarıda bir txt ye yazıp CauStatusReport.Ps1 olarak kaydedelim.  Daha sonra bu scripti aynı dizin altında toplayıp CAUStatusScriptLogs.txt adında bir txt olusturalım. Script çalıstıgında logları bu txt file a yazacak. Daha sonra kod içinde gerekli kısımları duzenlersenız kendinize göre scripti çalıstırdıgınızda 1. scripte yazdıgınız tüm clusterları check edip CAUStatuslarını size mail olarak atacaktır

    Böylece tek bir noktadan tum clusterlarınızın CAU statusunu görebilirsiniz.

Faydalı olması dılegıyle….


(62)

the author

Netaş Aş. de Sistem Yöneticisi olarak çalışmaktayım. 2001 den bu yana BT sektöründeyim. Bu zamanın büyük bir kısmında Sistem Entegratörlüğü yapan Bilişim firmalarında proje ve sistem kurulum departmanlarında çalıştım. Birçok firmada Microsoft ürünleriyle ilgili sistem kurulum projelerinde bulundum. 2012 den bu yana kendi bloğum olan MSLİNUXTR de deneyimlerimi sizinle paylaşıyorum. Ayrıca 2013 başlarından bu yana da MSHOWTO ailesinin bir üyesiyim.

No comments yet.

Bir Cevap Yazın