#You can put script in the Task Scheduler . [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $ErrorActionPreference = "SilentlyContinue" [int]$n=0 [int]$i=0 $n = Get-Content UsersQt.txt | Select-Object -last 1 $Date = Get-Date "Users count in AD on $Date " >> UsersQt.txt $objDomain = New-Object System.DirectoryServices.DirectoryEntry IF($objDomain.exist) {$strCategory = "computer" $objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.Filter = ("(objectCategory=$strCategory)") $colResults = $objSearcher.FindAll() foreach ($objResult in $colResults) {$i = $i + 1} $i >> UsersQt.txt If($n -gt $i) {[System.Windows.Forms.MessageBox]::Show(($n-$i).ToString() + " User(s) is(are) deleted in AD.") } elseif($n -lt $i) {[System.Windows.Forms.MessageBox]::Show(($i-$n).ToString() + " New User(s) is(are) created in AD.")}}