revert 427f6ed000
revert fix: lk_diagnostic.py - separate short_name for sAMAccountName and ANR
This commit is contained in:
@@ -46,12 +46,12 @@ print("=" * 60)
|
|||||||
|
|
||||||
email = "la.guseynova@sibcem.ru"
|
email = "la.guseynova@sibcem.ru"
|
||||||
search_id = email.replace("@tcs.sibcem.ru", "@sibcem.ru")
|
search_id = email.replace("@tcs.sibcem.ru", "@sibcem.ru")
|
||||||
short_name = search_id.split("@")[0] # la.guseynova — без домена
|
short_name = search_id.split("@")[0]
|
||||||
|
|
||||||
print(f"\n--- 0. Поиск в AD ---")
|
print(f"\n--- 0. Поиск в AD ---")
|
||||||
print(f" Email: {email}")
|
print(f" Email: {email}")
|
||||||
print(f" Search ID: {search_id}")
|
print(f" Search ID: {search_id}")
|
||||||
print(f" Short (без домена): {short_name}")
|
print(f" Short: {short_name}")
|
||||||
|
|
||||||
AD_SERVER = "172.16.20.20"
|
AD_SERVER = "172.16.20.20"
|
||||||
AD_BASE = "DC=sibcem,DC=ru"
|
AD_BASE = "DC=sibcem,DC=ru"
|
||||||
@@ -63,17 +63,10 @@ try:
|
|||||||
read_only=True
|
read_only=True
|
||||||
)
|
)
|
||||||
|
|
||||||
# Разделяем поиск:
|
# Универсальный фильтр: mail, sAMAccountName, userPrincipalName, ANR
|
||||||
# - mail: полный email с доменом (la.guseynova@sibcem.ru)
|
# ANR — Approximate Name Resolution, ищет по любому атрибуту
|
||||||
# - sAMAccountName: только логин без домена (la.guseynova)
|
search_filter = f"(|(mail={search_id}*)(sAMAccountName={search_id})(userPrincipalName={search_id}*)(anr={search_id}))"
|
||||||
# - userPrincipalName: полный UPN с доменом
|
|
||||||
# - anr: логин без домена (ANR ищет по sAMAccountName, displayName, etc.)
|
|
||||||
search_filter = f"(|(mail={search_id}*)(sAMAccountName={short_name})(userPrincipalName={search_id}*)(anr={short_name}))"
|
|
||||||
print(f" LDAP-фильтр: {search_filter}")
|
print(f" LDAP-фильтр: {search_filter}")
|
||||||
print(f" mail: {search_id} (полный email)")
|
|
||||||
print(f" sAMAccountName: {short_name} (без домена)")
|
|
||||||
print(f" userPrincipalName: {search_id} (полный UPN)")
|
|
||||||
print(f" anr: {short_name} (без домена)")
|
|
||||||
|
|
||||||
conn.search(
|
conn.search(
|
||||||
search_base=AD_BASE,
|
search_base=AD_BASE,
|
||||||
@@ -90,7 +83,6 @@ try:
|
|||||||
mobile = str(entry.mobile) if 'mobile' in entry else ""
|
mobile = str(entry.mobile) if 'mobile' in entry else ""
|
||||||
pager = str(entry.personalPager) if 'personalPager' in entry else ""
|
pager = str(entry.personalPager) if 'personalPager' in entry else ""
|
||||||
|
|
||||||
print(f"\n НАЙДЕН:")
|
|
||||||
print(f" CN: {cn}")
|
print(f" CN: {cn}")
|
||||||
print(f" sAMAccountName: {sam}")
|
print(f" sAMAccountName: {sam}")
|
||||||
print(f" mail: {mail}")
|
print(f" mail: {mail}")
|
||||||
@@ -102,7 +94,7 @@ try:
|
|||||||
print(" Не найден по расширенному фильтру. Пробую ANR отдельно...")
|
print(" Не найден по расширенному фильтру. Пробую ANR отдельно...")
|
||||||
conn.search(
|
conn.search(
|
||||||
search_base=AD_BASE,
|
search_base=AD_BASE,
|
||||||
search_filter=f"(anr={short_name})",
|
search_filter=f"(anr={search_id})",
|
||||||
attributes=["cn", "sAMAccountName", "mail", "userPrincipalName", "extensionAttribute2", "mobile", "personalPager"]
|
attributes=["cn", "sAMAccountName", "mail", "userPrincipalName", "extensionAttribute2", "mobile", "personalPager"]
|
||||||
)
|
)
|
||||||
if conn.entries:
|
if conn.entries:
|
||||||
@@ -115,7 +107,6 @@ try:
|
|||||||
mobile = str(entry.mobile) if 'mobile' in entry else ""
|
mobile = str(entry.mobile) if 'mobile' in entry else ""
|
||||||
pager = str(entry.personalPager) if 'personalPager' in entry else ""
|
pager = str(entry.personalPager) if 'personalPager' in entry else ""
|
||||||
|
|
||||||
print(f"\n НАЙДЕН (ANR fallback):")
|
|
||||||
print(f" CN: {cn}")
|
print(f" CN: {cn}")
|
||||||
print(f" sAMAccountName: {sam}")
|
print(f" sAMAccountName: {sam}")
|
||||||
print(f" mail: {mail}")
|
print(f" mail: {mail}")
|
||||||
|
|||||||
Reference in New Issue
Block a user