Lync users can still logon after AD account is disabled
Standardul practicat de majoritatea companiilor atunci cand un user pleaca din companie este sa dezactiveze contul de AD. Daca setarile implicite cu care vine OCS/Lync nu au fost modificate, este posibil ca acel utilizator sa se poata loga in continuare pe OCS/Lync si sa exercite toate functionalitatile care i-au fost asignate. Acel user ar putea efectua in continuare Enterprise calls pe banii firmei.
Cum functioneaza? Lync poate folosi Kerberos, NTLM si autentificare pe baza de certificat X.509 (TLS_DSK). Kerberos se foloseste atunci cand clientul se conecteaza din reteaua interna prin Active directory, NTLM se foloseste atunci cand clientul se conecteaza din afara retelei prin serverele de Edge, iar autentificare pe baza de certificat are avantajele ei:
- Autentificare mai rapida.
- Nu mai depinde de Active Directory.
- Autentificare in failover Pool in caz de DR.
Certificatul este emis in momentul cand users bifeaza optiunea ‘Save my password’.
Certificatul este emis de un serviciu ce ruleaza pe orice Front End (https://Lyncpool.domain.com/CertProv/CertProvisioningService.svc) si se gaseste in User/Personal certificate store pe clientul ce se autentifica. Acest certificat este valabil 180 de zile, userul putand sa se logheze fara probleme pe Lync chiar daca contul de AD a fost disabled.
Acest mod de autentificate se poate dezactiva dar trebuiesc avute in vedere repercursiunile sau impactul acestei actiuni.
Se poate face disable din Lync Control Panel > Security > Registrar/WebService >Enable Certificate Authentication.
Sau din powershell:
Pentru Registrar :
Set-CSProxyConfiguration –UseCertificateForClientToProxyAuth $False
Pentru Web Service:
Set-CSWebServiceConfiguration –UseCertificateAuth $False
Ca sa nu mai lungim povestea, dupa ce userii au fost disable in AD trebuie sa se faca disable si din lync, fie din CSCP fie din PS.
Pentru a gasi userii care sunt disabled in AD dar nu in Lync:
Get-CsAdUser | ?{$_.UserAccountControl -match "AccountDisabled" -and $_.Enabled -eq $true} | ft Name,Enabled,SipAddress -auto
Pentru a numara userii disabled in AD :
Get-CsAdUser | ?{$_.UserAccountControl -match "AccountDisabled" -and $_.Enabled -eq $true} | Measure-Object
Pentru a dezactiva conturile de Lync pentru userii disabled din AD:
Get-CsAdUser | ?{$_.UserAccountControl -match "AccountDisabled" -and $_.Enabled -eq $true} | Disable-CsUser
Acest ‘behaviour’ este documentat pe blogul lui Jeff Guillet :
http://www.expta.com/2011/03/disabling-user-in-ad-does-not-disable.html
Alte resurse:
http://blogs.technet.com/b/nexthop/archive/2012/11/28/lync-2010-client-authentication.aspx



