Otomasyon çözümlerinin en sık kullanıldığı ortamlardan biri olan Microsoft Orchestrator yazılımı ile recursive yani tekrarlanan işlemleri bir admine vermek yerine Orchestrator üzerinde bulunan Monitor Date/Time objesini kullanarak yaptırabiliriz.
Domaine alınan her server veya client, Active Directory üzerinde Computers OU’su altına düşer. Daha sonra kendi türüne göre yazılmış GPO’ları alabilmesi için GPO’nun uygulandı OU’ya bu computer objelerinin taşınması gerekmektedir. Bunu powershell ile çok pratik bir şekilde yapabiliriz ancak bu işlemin gün içerisinde sürekli yapılması gerektiği için pek pratik bir çözüm olarak kullanılmıyor. Ancak bu script’i Orchestrator üzerinde Run .Net Script aktivitesi ile birlikte kullanırsak bizim yerimize bu işlemleri kendisi halledebilir.
Powershell ile aşağıdaki script’i kullanarak Default Computers OU’su içerisinde bulunan computer objelerinden, içerisinde Windows Server olanları kendisine ait OU ya taşır
$output=powershell {
Import-Module Activedirectory
Get-ADComputer -Filter {OperatingSystem -Like “Windows Server*”} -SearchBase “CN=Computers,DC=xxx,DC=com,DC=tr” | Move-ADObject -TargetPath “OU=Otomasyon,OU=Servers,DC=xxx,DC=com,DC=tr”
$server=Get-ADComputer -Filter {OperatingSystem -Like “Windows Server*”} -SearchBase “OU=Otomasyon,OU=Servers,DC=xxx,DC=com,DC=tr”
Invoke-Command -ComputerName $server { gpupdate /force }
}
Bu işlemi Run.Net Script ile aşağıdaki şekilde gösterildiği gibi yazabiliriz.
Bu işlemi de tamamladıktan sonra Monitor Date/Time aktivitesi ile çalışma sıklığını veya zamanını belirleyebiliriz.
Her 5 dakikada bir bu script otomatik olarak çalışacaktır. Akışın tamamını aşağıdaki gibi özetleyebiliriz.