By 19 Maggio 2016 0 Comments

Exchange – Monitorare Active Directory con una pagina ASP

exchange-2016-preview-logo-150x150Tutti coloro che “creano” un mailserver sono soliti ad impostare un “monitoraggio” su più porte dei servizio convenzionali (Smtp, Pop3, Http) ma nel caso di Exchange Server è consigliabile creare un sistema di controllo anche verso Active Directory perchè se quest’ultimo ha un “problema” e/o smette di funzionare (Server non operativo, ecc.)…Exchange continuerà lo stesso ad erogare servizi sulle porte 25, 110, ecc. ma i messaggi potrebbero subire molti problema di gestione nella coda interna e/o su i Pc client degli utenti.

Per monitorare Active directory è sufficiente una pagina in ASP Classic.
Ci sarà utile anche un utente di dominio (user/password) per verificare l’autenticazione.

Il file .asp dovrà essere posizionato nella cartella del ClientAccess nella sezione Owa\auth
Ad esempio  : C:\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\auth

Ecco un esempio di file Asp che possiamo utilizzare:

<%
dim domainController : domainController = “ssa-ammi”
dim ldapPort : ldapPort = 389
dim startOu : startOu = “DC=ssa-ammi,DC=local”

Function CheckLogin( szUserName, szPassword)
CheckLogin = False

szUserName = trim( “” & szUserName)

dim oCon : Set oCon = Server.CreateObject(“ADODB.Connection”)
oCon.Provider = “ADsDSOObject”
oCon.Properties(“User ID”) = szUserName
oCon.Properties(“Password”) = szPassword
oCon.Open “ADProvider”
dim oCmd : Set oCmd = Server.CreateObject(“ADODB.Command”)
Set oCmd.ActiveConnection = oCon

‘ let’s look for the mail address of a non exitsting user
dim szDummyQuery : szDummyQuery = “(&(objectCategory=person)(samaccountname=DeGaullesC))”
dim szDummyProperties : szDummyProperties = “mail”
dim cmd : cmd = “<” & “LDAP://” & domainController & “:” & ldapPort & _
“/” & startOu & “>;” & szDummyQuery & “;” & szDummyProperties & “;subtree”
oCmd.CommandText = cmd
oCmd.Properties(“Page Size”) = 100
on error resume next
dim rs : Set rs = oCmd.Execute
if err.Number = 0 then
CheckLogin = true
call rs.Close()
set rs = nothing
end if
on error goto 0
set oCmd = nothing
End Function

‘ perform test
dim res : res = CheckLogin( “ssa-ammi\prova”, “laMiaPassword”)
if res then
Response.Write( “LoginOK”)
else
Response.Write( “Login failed”)
end if
%>

La rispostà sarà “LoginOK” oppure fallita a seconda della connessione Active Directory.
Con il nostro sistema di monitoring potremo verificare, esempio:
http://www.serverbay.it/owa/auth/test.asp

Exchange, Monitorare Active Directory, Monitor Active Directory su Exchange, come monitorare Active Directory Exchange server, Exchange verifica Active Directory,Active Directory verifica, monitor Active Directory, monitorare Active Directory

About the Author:

shared on wplocker.com