گویا مایکروسافت با برنامه نویس های حرفه ای خداحافظی کرده!!!
امروز از ساعت 3:30 به وقت محلی تهران یا 0:00 به وقت گرینویچ، لاگ های Exchange Server مایکروسافت Timestamp شون 2201010000 شد.
یکی از Categorizer های اکسچینج مربوط به Anti-Malware هست. به دلایلی برنامه نویس عزیزی که مایکروسافت به تیمش اضافه کرده به ذهنش رسیده که ایده خوبی هست که این timestamp ها رو توی یه متغییر از نوع Long نگه داره. از اون طرف هم Microsoft Visual C++ Runtime Environment از استاندارد LLP64 استفاده میکنه در حالی که اکثر سیستم های Unix-based از ILP64 استفاده میکنن. این یعنی که سایز یه متغیر نوع Long حتی توی حالت 64 بیتی هم 32 بیته و وقتی که Signed هست حداکثر میتونه بازه 2147483647 تا 2147483648- رو پوشش بده. حالا ساعت تهران شده 3:30 صبح روز اول سال میلادی 2022 و این یعنی دیگه متغیر نوع Long نمی تونه این timestamp رو توی خودش نگه داره و Anti Malware مایکروسافت با خطا موجه میشه که باعث میشه Exchange Transport Service میل رو Defer و Queue کنه به این امید که در تلاش بعدی Categorizer مشکلش برطرف بشه! که نمیشه!!!
اینم نمونه خطاهایی که دریافت میکنید:
The FIP-FS “Microsoft” Scan Engine failed to load. PID: 7533, Error Code: 0x80004005. Error Description: Can’t convert “2201010005” to long.
Last Error: Message deferred by categorizer agent.
برای اینکه بتونید به ارسال و دریافت ایمیل ادامه بدید، در حال حاضر بایستی Anti-Malware رو غیر فعال کنید. مایکروسافت هم داره سعی میکنه که Patch ارائه بده اما تا به حال که مشکل رو نتونسته برطرف کنه.
به پوشه ای که Exchange Server تون توش نصب شده برید و یه Power Shell رو در حالت Elevated Privilege اجرا کنید (مثلاً با استفاده از کلیک راست و انتخاب Run as administrator) و این اسکریت رو Run کنید:
Disable-AntimalwareScanning.ps1
بسته به لود سرورتون چندین دقیقه طول میکشه تا اسکریپت کارش تموم بشه.
بعدش سرویس Microsoft Exchange Server Transport رو ریستارت کنید.
نکته: اگه مایلید بیشتر راجع به غیرفعال یا bypass کردن Anti-Malware مطالعه کنید، این صفحه از مستندات مایکروسافت رو ببینید.
ما مسئله رو داریم مانیتور میکنیم و به محض ارائه Patch قابل قبولی از سمت مایکروسافت اطلاع رسانی میکنیم و فایل رو در اختیارتون قرار میدیم.
امیدوارم شرکت های بزرگ دقت بیشتری توی محصولاتشون به خرج بدن!
متأسفانه دیگه Exchange Server اون چیزی که در گذشته بود نیست و هر روز داره ما رو مأیوس و مأیوس تر میکنه. ):
پی نوشت:
تیم اکسچنج مایکروسافت توضیحاتی توی سایت شرکت گذاشتن و راه حل رسمی خودشون برای حل مشکل رو توی این صفحه از وب سایت شرکت ارائه دادن. یه اسکریپت هم نوشتن که با اجراش، کارهایی که برای رفع مشکل پیشنهاد دادن به صورت خودکار انجام میشه. من به اسکریپت هم براتون لینک میدم اما یادتون باشه که اگه از قبل پالیسی اجرای پاورشل تون رو روی remotesigned نذاشتید باید با دستور زیر قبلش این کار رو بکنید.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned