Exchange 2010 Correlation Engine

8 05 2012

Creating overrides for the Exchange Correlation engine is not easy. Here is a link that shows you how to correctly change the monitors or rules.

http://social.technet.microsoft.com/Forums/en-US/operationsmanagermgmtpacks/thread/28ffced4-7dd9-4731-a8e9-ee0fc2130f47

Often the rules or monitors are using numerical values for severity and priority. Here is an article that shows what the numerical values are.

http://blogs.msdn.com/b/mariussutara/archive/2007/12/17/alert-severity-and-priority-use-with-override.aspx





Reset Local Administrator Password(s)

26 10 2009

Here are two PowerShell scripts to reset the local administrator password on multiple machines.  The first one seaches an OU with a filter on objectClass=Computer and prompts for a new password.  The second script you use a text file imported with computer names which the script reads from.  Either way works, I prefer the first.

## This variable creates the LDAP connection to Servers, you must enter in the correct DN name of the OU you will be using.
$objDomain = [adsi] (“LDAP://OU=Servers,OU=OU,dc=domain,dc=local”)

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = ‘(objectClass=Computer)’
#$objsearch.propertiestoload.add(“name”)
$colResults = $objSearcher.FindAll()

$password = read-host “Please type in the new password.”

$erroractionpreference = “SilentlyContinue”
foreach ($Computer in $colResults) {   
    $ServerName = $($Computer.properties.name).ToUpper()       
    $ping = new-object System.Net.NetworkInformation.Ping   
    $Reply = $ping.send($ServerName)       

        if($Reply.status -eq “success”) {       
            Write-Host “$ServerName is online”       
            $Admin=[adsi](“WinNT://” + $ServerName + “/administrator, user”)       
            $Admin.PSBase.Invoke(“SetPassword”, $password)               

            # Verify password was just changed       
            $PasswordAge = $Admin.PasswordAge               
            If($PasswordAge -ne $null) {                       
            Write-Host “$ServerName password change SUCCEEDED”               
            } Else {           
                Write-Host “$ServerName password change FAILED”               
            }   
            } Else {       
                Write-Host “$ServerName is not online – skipping”       
            }
        }

 

#This script will change the local adminstrator password for every machine in serverlist.txt
#Only if the server is online via ping request

$erroractionpreference = “SilentlyContinue”

##for <directorylocal> type in the correct location of the serverlist.txt
foreach ($Computer in get-content <directorylocal>\serverlist.txt) {   
    $ServerName = $Computer.ToUpper()       
    $ping = new-object System.Net.NetworkInformation.Ping   
    $Reply = $ping.send($Computer)       

        if($Reply.status -eq “success”) {       
            Write-Host “$ServerName is online”       
            $Admin=[adsi](“WinNT://” + $Computer + “/administrator, user”)     

##replace –-password—with the actual password  
     $Admin.PSBase.Invoke(“SetPassword”, “–password–”)               

            # Verify password was just changed       
            $PasswordAge = $Admin.PasswordAge               
            If($PasswordAge -ne $null) {                       
            Write-Host “$ServerName password change SUCCEEDED”               
            } Else {           
                Write-Host “$ServerName password change FAILED”               
            }   
            } Else {       
                Write-Host “$ServerName is not online – skipping”       
            }
        }








Follow

Get every new post delivered to your Inbox.