احمد جهلولی
متخصص سرویس های مایکروسافت

آموزش به روز رسانی اکسچنچ سرور 2013 به 2016 بصورت گام به گام

چگونه اکسچنج سرور را به روز رسانی کنیم؟ چگونه Exchange سرور 2013 را به نسخه 2016 به روز رسانی کنیم؟ به علت پرسش زیاد کاربران این انجمن تصمیم گرفتم نحوه نصب Exchange Server 2016 ونحوه Migration از Exch 2013 to Exch 2016 را توضیح دهم. امیدوار مورد پسند قرار بگیره. 

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول

اکسچنج سرور 2016 چیست و چه امکاناتی دارد؟

بالاخره در تاریخ October 2015. تیم Microsoft Exchange اولین ورژن Exch 2016 (RTM) را منتشر کرده اند. این ورژن بر خلاف ورژنهای قبلی از نظر کارکرد و کارائی پیشرفت زیادی داشته است. و تعقیراتی نسبتا جدیدی در آن ایجاد شده.ظاهرا مایکروسافت قصد حذف کردن Roll-Base بودن Exchange را دارد چون در نسخه جدید این محصول ما دو رل بیشتر نداریم:

Mailbox server role چیست؟

این رل شامل رلهائی مانند Mailbox and Client Access در Exch 2013 و رل های Client Access, Mailbox, Hub Transport, and Unified Messaging server در Exch 2010 می باشد. در نتیجه رل Mailbox server role در Exch 2016 یکی از رل های اصلی و اجتناب ناپذیر می باشد.

Edge Transport server role چیست؟

این رل همانند نسخه های قبلی در 2010 و 2013 می باشد. و در نقطه Edge شبکه قرار می گیرد و واسطه کاربران خارجی با Exchange Server می باشد.سوال بعدی که مطرح میشه اینه!!! که من از چه نسخه ای از Exchange 2016 استفاده کنم؟؟؟؟ما کلا مانند ورژن های قبلی دو نسخه بیشتر نداریم:

  1. Exchange Server 2016 Standard Edition
  2. Exchange Server 2016 Enterprise Edition

که تنها تفاوت این دو نسخه در حداکثر استفاده از Database های ایجاد شده بر روی آنها می باشد.نسخه اولی حداکثر و همزمان می تواند 5 دیتابیس بصورت Mount شده بر روی خود داشته باشد ونسخه دومی 100 دیتابیس.و اینطور نیست که فکرشو بکنید که نسخه Standard از لحاظ ظاهری و عملکرد پایین تر از نسخه Enterprise باشد.... نه اینطور نیست هر دو نسخه کاملا شبیه هم هستن و بعد از خریداری کردن لایسنس نسخه مورد نظر نسخه آنها معلوم می شود.لازمه تذکر بدم که اگر دیتابیس های نسخه Standard بیش از 5 دیتابیس شدن (علاوه بر recovery database) هیچکدام از دیتابیس ها دیگر Mount نخواهند شد.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول

خب شروع میکنیم.اولین قدم در Migration نصب Exch 2016 بر روی یک سرور کاملا جدا می باشد. قبل از نصب شما باید پیش نیاز های این نسخه را بدانید.برای اطلاع بیشتر از پیشنیاز های این نسخه لینک زیر را بخوانید کنید: (حتما بخوانید)

Exchange 2016 system requirements

https://technet.microsoft.com/en-us/library/aa996719(v=exchg.160).aspx

به عنوان مثال سیستم عاملهای که در این نسخه پشتیبانی می شود:

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


نکته: Exch 2016 را نمی توان بر روی سروری که بصورت Core mode installation هستش نصب کرد.بقیه پیش نیازها را در لینک بالائی بخوانید.ما در Exch 2016 سه کامپوننت داریم که می توانیم نصب کنیم. که شامل:


  1. Mailbox server role
  2. Edge Transport server role
  3. Management Tools


که برای هر کدام از آنها یکسری پیش نیاز وجود دارد که قبل از نصب آنها باید نصب شود.

پیشنیازهای نصب اکسچنج سرور 2016 چیست؟

اولین پیش نیاز جوین کردن سرور به دومین و عضو کردن کاربری که مسئول نصب این سرویس هستش به گروه های Enterprise Admins and Schema Admins می باشد.درضمن NetBIOS سرور جدید رو هم یه نگاهی بندازید. تا بعدا درد سر ساز نشه براتون.قدم بعدی نصب کامپوننتهای مورد نیاز Exch 2016 می باشد : کنسول Power shell را با مجوز مدیریتی اجرا کنید و دستور زیر را در آن کپی کنید:

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول

بعد از اجرای دستور بالا سیستم را ریست کنید.بعد از آن باید برنامه های زیر را نصب کنید:

.NET Framework 4.5.2
Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit

پیش نیازهای رل Edge Transport server role کمتر هستن. فقط دو برنامه بالا را نصب کنید و دستور زیر را در Power shell اجرا کنید:

Install-WindowsFeature ADLDS

پیش نیازهای نصب Management Tools فقط نصب NET Framework 4.5.2. می باشد.همانطور که می دانید Management Tools برای مدیریت Exchange استفاده میشه. شاید الان این سوال براتون پیش بیاد.آقا من که بوسیله یک Web Browser میتونم هر کاری که دلم بخواد انجام بدم!!! چه نیازیه Management Tools رو نصب کنم؟؟؟ در جواب باید بگم شما Management Tools را فقط برای دستری به Exchange Management Shell نصب خواهید کرد.متد دیگری هم وجود دارد که به EMS اکسچنج وصل شوید که می توانید در لینک زیر بخوانید.

وصل شدن به Exchange Management Shell بوسیله Power Shell

بعد از نصب پیش نیازها نوبت به نصب Exch 2016 می رسد.اولین قدم در این راستا اماده سازی Schema and Active Directory می باشد.ولی قبل از انجام اینکار به نکات زیر توجه کنید:

  • مطمئن شوید Replication بین دومین ها بصورت صحیح ردو بدل می شود.
  • اگر برای اولین بار Exchange در ساختار نصب می کنید باید یک organization name انتخاب کنید. یادتون باشه organization name بعد از نصب قابل تعقیر نیست.
  • با Userی لاگین کنید که عضو گروه Organization Management در Exch 2013 باشد. چون این اولین Exchangeی نیست که در ساختار نصب می کنیم. یادتون باشه ما قبلا Exch 2013 نصب کرده ایم و الان قصد داریم به Exch 2016 مهاجرت کنیم. پس پیشنهاد میکنم با User قبلی که Exch 2013 نصب کرده اید الان با همان یوزر Exch 2016 را نصب کنید.
  • قبل از اماده سازی Schema and Active Directory حتما چک کنید که Exch 2013 اخرین ابدیتها را بر روی خودش نصب کرده باشه. شما به شرطی می توایند از Exch 2013 به Exch 2016 مهاجرت کنید که اکسچنج سرور شما Exchange 2013 servers CU10 باشد.

مایکروسافت در اینباره می گوید:

Before you can install Exchange 2016, all Exchange 2013 servers in your organization must be upgraded to Exchange 2013 CU10 or later

برای اطلاع بیشتر درباره نحوه ابدیت کردن Exch 2013 لینک زیر را بخوانید:

Upgrade existing Exchange 2013 installation to CU10 step-by-step

http://enterpriseit.co/microsoft-exchange/2013/upgrade-cu5
  • Client/Serverی که قصد اماده سازی Schema and Active Directory را داشته باشد باید در همان Active Directory site مربوطه باشد.

شما از هر Client/Serverی می توانید Schema and Active Directory را اماده سازی کنید به شرطی که دو کامپوننت زیر بر روی آنها نصب شده باشد:

Install-WindowsFeature RSAT-ADDS
.NET Framework 4.5.2


به نظرتون بهتر نیست قبل از اینکه Schema and Active Directory را آماده سازی و ابدیت کنیم چک کنیم ببینیم ورژن Exchange schema ما در زمان نصب Exch 2013 چقدر است؟
برای اینکار فقط کافیه اسکریپت زیر که توسط Exchange MVP Michael B Smith ایجاد شده را در Power shell اجرا کنید:

"Exchange Schema Version = " + ([ADSI]("LDAP://CN=ms-Exch-Schema-Version-Pt," + ([ADSI]"LDAP://RootDSE").schemaNamingContext)).rangeUpper
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول

خب بریم سر اصل مطلب. برای اماده سازی Schema فایلهای Exch 2016 را Extract کنید و خط فرمان را به آن مسیرمنتقل کنید و دستور زیر را اجرا کنید:

setup /PrepareSchema /IAcceptExchangeServerLicenseTerms
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


الان دوباره ورژن Exchange Schema را چک کنیم:

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


افزایش پیدا کرده.قدم بعدی اماده سازی Active Directory هستش. یادتون باشه اگر مرحله قبل را انجام نداده باشید با این مرحله Schema هم اماده سازی می شود.

  • نکته: همانطور که قبلا گفتم اگر برای اولین بار قصد نصب Exch 2016 را دارید در این مرحله باید یک organization name انتخاب کنید.

من قبلا Exch 2013 نصب کرده بودم و نیازی به وارد کردن organization name نیست.دستور زیر را در Power shell اجرا کنید:

setup /PrepareAD /IAcceptExchangeServerLicenseTerms
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


نکته: اگر دومینی در Forest دارید که می خواهند از Exchange استفاده کنند میتوانید آن دومین را هم اماده سازی کنید. که برای اینکار می توانید لینک زیر را بخوانید:

Prepare Active Directory and domains

https://technet.microsoft.com/en-us/library/bb125224(v=exchg.160).aspx

آموزش نصب Mailbox Server Role در اکسچنج سرور 2016

الان همه چیز برای نصب Exch 2016 امادس. برای اینکار دستور زیر را اجرا کنید:

setup /Mode:Install /Role:Mailbox /IAcceptExchangeServerLicenseTerms

الان شاید یکی بپرسه چرا شما از محیط گرافیکی برای نصب Exch 2016 استفاده نمی کنید؟ ایا محیط گرافیکی در Exch 2016 حذف شده؟!!!نه..!!! اینطور نیست نصب Exch از طریق GUI یا Command ی به خود شما برمی گرده. من با روش Command بیشتر راحتم.!! یک دستور رو اجرا میکنم و میرم به کارم میرسم ( بعضیا توی این موقع میرن چای می خورن ما نه میرم بازار برای خرید D: ولی در محیط GUI شما یک Wizard دارید که باید در یکجا میخکوب بشید و هی Next کنید....خب!!اگر توجه کنید حین نصب یک هشدار میده!!! بخونید:

MAPI over HTTP, the preferred Outlook desktop client connectivity with Exchange server, is currently not enabled. Consider enabling it using: Set-OrganizationConfig -MapiHttpEnabled $true For more information, visit: http://technet.microsoft.comlibrary(EXCHG.160)ms.exch.setupreadiness.WarnMapiHttpNotEnabled.aspx

در Exch 2010 ارتباط کاربران داخلی با Exchange توسط پروتکل RPC بود و کاربران خارجی توسط RPC over HTTP (Outlook Anywhere). ولی با آمدن Exch 2013 همه ارتباطات داخلی و خارجی توسط RPC over HTTP انجام میشد.
MAPI over HTTP با انتشار Exchange 2013 SP1 ایجاد شد که یک ارتباط پیشنهاد شده برای اتصال Outlook به Exchange 2013 SP1 به بعد می باشد. یکی از دلایل استفاده از این روش اتصال پایدار و سریع کاربران به Exchange می باشد.
برای اطلاع بیشتر درباره این پروتکل ونحوه فعال کردن آن اینجا را کلیک کنید

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول

تبریک میگم Exchange 2016 نصب شد. سیستم را Reboot کنید.چطور می تونم الان چک کنم ببینم نصب صحیح و درست بوده؟؟ اولین راه چک کردن Log ها در مسیر

C:\ExchangeSetupLogs\ExchangeSetup.log

می باشد.دومین راه حل اجرای دستور زیر در EMS:

Get-exchangeserver
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


می بینید که هر دو سرور های ساختار را نشان داده.

آموزش تنظیمات Service Connection Point-SCP

در اخر کار وقتی که Exchange نصب شد باید Service Connection Point (SCP) را تنظیم کنید.SCP یک Attributeی هستش که در Active Directory ذخیره می شود و تنظیمات AutoDiscovery را به کاربران Outlook می دهد که بصورت خودکار به Exchange وصل شوند.حالا چرا ما باید این Attribute را تعقیر بدیم؟؟؟؟وقتی Exch 2016 نصب می شود برای خودش یک Certificate بصورت Self-singe ایجاد می کنه.

الان فکرشو بکنید Active Directory همه کاربران را به واسطه این SCP فوروارد می کنه به Exch 2016 و Exch 2016 سرتیفیکت خودشو اعمال می کنه که در نتیجه هم در اتصال به Exch 2016 و هم به Exch 2013 کاربران یک اخطار Certificate دریافت می کنند. و شیر تو شیر میشه شبکه D:در ابتدا باید چک کنیم ببینیم چه SCP بر روی Exch 2013 ست شده؟ برای این منظور دستور زیر را بر روی Exch 2013 اجرا کنید:

Get-ClientAccessServer -Identity mail | fl AutoDiscoverServiceInternalURI
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


در نتیجه در این سناریو exch 2013 ما دارای SCP:

https://mail.my-city.com/autodiscover/autodiscover.xml

هستش و SCP سرور Exch 2016:

https://mail-02.my-city.local/autodiscover/autodiscover.xml

الان باید دستور زیر را بر روی Exch 2016 اجرا کنیم تا Exch 2016 آنها را سمت exch 2013 فوروارد کند:

Set-ClientAccessService -Identity mail-02 -AutoDiscoverServiceInternalUri https://mail.my-city.com/autodiscover/autodiscover.xml
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت اول


تعقیرات اعمال شد.در جلسه بعد نحوه انتقال Certificate سرور Esch 2013 به Exch 2016 را آموزش میدم.


در این جلسه قصد دارم درباره انتقال Certificate در Exchange 2016 توضیحاتی بدم.قبل از اینکار اجازه بدید در مورد Exchange و استفاده این سرویس از Certificate را توضیح بدم. قرار نیست مثل یک ماشین باشیم که هی Next و ... کنیم. باید بدانیم داریم چکار می کنیم تا اگر جائی به مشکل برخوردم دست به دامن جنیان نشویم D: و بتوانیم مشکلمونو حل کنیم.

تنظیمات Certificate در اکسچنج سرور 2016

ارتباطات Exchange با کلاینتها بوسیله پروتکلهای مانند HTTPS, SMTP, IMAP and POP صورت میگیره و لازمه چنین ارتباطی احراز هویت کاربر می باشد. ترافیک چنین ارتباط بصورت Clear می باشد. یعنی اگر کاربری User $ pass خودشو وارد کرد این اطلاعات بصورت شفاوف و بدون رمزگذاری در شبکه منتقل می شود که دارای ریسک امنیتی بالای می باشد. پس به همین دلیل Exchange برای رمزگذاری چنین اطلاعات حساسی از SSL certificates استفاده می کند. این ارتباطات در Exchange شامل :

  1. Outlook connecting to Outlook Anywhere (RPC-over-HTTP) or MAPI-over-HTTP
  2. Web browsers connecting to Outlook on the web (OWA)
  3. Mobile devices connecting to ActiveSync to access mailboxes and calendars
  4. Applications connecting to Exchange Web Services (EWS) for free/busy and other lookups
  5. Email clients connecting to secure POP or IMAP
  6. TLS encrypted SMTP between Exchange servers or other email servers

می باشد. وقتی شما Exchange 2016 را نصب می کنید. خود Exchange یک SSL Certificate بصورت موقت برای خود ایجاد می کند. که به این نوع سرتیفیکت Self-Sign Certificate گفته می شود. که در کل جهان این نوع سرتیفیکت نا معتبر است. شاید سوال براتون پیش بیاد که اگر معتبر نیست پس چرا Exchange به خودش زحمت داده درسش کرده؟؟
جواب این سوال سادس. تا در برهه ی که شما مشغول خرید یک Certificate هستید اطلاعات ردو بدل شده با Exchange بصورت رمزگذاری شده باشد. ما در قضیه Certificate کلا دو سناریو بیشتر نداریم.

  1. فقط کاربران داخلی از Exchange استفاده می کنند.
  2. کاربران داخلی و کاربران خارجی (internet) از Exchange استفاده میکنند.

راهکاری که در گذینه اول دارید اینه که یک CA Server در شبکه داخلی ایجاد کنید و آن را بوسیله Group Policy به شبکه بشناسونید و از این سرور برای Exchange سرتیفیکت درخواست بدید. در نتیجه Certificate ارائه شده برای همه Client/Server ها معتبر است.

راهکار گذینه دوم فقط و فقط خرید یک Certificate معتبر و نصب این Cert در Exchange می باشد. تا در حین اتصال به Exchange خطای Certificate دریافت نکنید. اینم بگم در ایران قضیه Certificate به غیر از سازمانها و ارگانهای دولتی قضیه زیاد مهمی نیست. سازمانهای زیادی دیدم که از Self-Signe خود Exchange استفاده می کنند. که این بحث برای انها بی معنیه. برای خرید Certificate باید پیش نیازهای زیر را رعایت کنید:

  • Correct server/domain names :  سرتیفیکیتی که شما درخواست می دهید باید شامل URLs, aliases, domain names های باشد که کاربران با استفاده از آنها به Exchange شما وصل می شوند. به عنوان مثال mail.tosinso.com
    Certificate validity period :   سرتیفیکیتی که درخواست می دهید بصورت مادام العمر نیست و در یک برهه زمانی خاص Expire می شود و شما باید دوباره آن را Renew کنید و شما باید در مورد این مدت زمان با آن شرکت بحث و توافق کنید. ( چیز بدیهی گفتم نه؟!! D:)
    Trusted certificate authority :  سرتیفیکیتی که درخواست می دهید باید از یک certificate authority معتبردر کل جهان باشد. تا بتوانید یک ارتباط امن با همه کاربرا داشته باشید. اینجاست که به بی ارزشی Self-sign اکسچنج سرور پی میبرید. بیشتر اتصالات Exchange بوسیله پروتکل HTTS می باشد. این اتصالات که در تصویر زیر مشاهده می کنید:
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت دوم


می تواند اسم و FQDN متفاوتی داشته باشد. که همانطور که می دانید Certificate می تواند بر روی یک FQDN اعمال شود یا فقط اسم دامنه سازمان. یا می توانید یک Wildcard certificate برای کل سرویس های خود بخرید که قاعدتا هزینه زیادی را می طلبه. وقتی که من Certificate درخواست میدم یکی از سوالتی که از من پرسیده میشه اسم Hostnameی که کاربران برای اتصال به Exchange استفاده می کنند. و این Hostname حتما باید جزئی از Certificate باشد.
مایکروسافت در اینباره میگه:

The host names you must include in your Exchange certificates are the host names used by client applications to connect to Exchange.

به عنوان مثال Mail.tosinso.com که حتما باید Mailعضو certificate باشد. تا بتوانید یک ارتباط رمزگذاری شده داشته باشید. مثلا اگر شما بجای Mail از IP یا اسم دیگری استفاده کنید خطای Certificate می گیرید. فرض کنید ما ادرس Mial.tosinso.com را می خواهیم برای سرویس های زیر ایجاد کنیم:

  1. Outlook Anywhere
  2. MAPI
  3. Outlook Web App
  4. Exchange Control Panel
  5. Exchange ActiveSync
  6. Exchange Web Services
  7. Offline Address Book
  8. AutoDiscover

در نتیجه تنظیمات ما بدین صورت است :

Outlook Anywhere – mail.tosinso.com 
MAPI – https://mail.tosinso.com/mapi
Outlook Web App – https://mail.tosinso.com/owa
Exchange Control Panel – https://mail.tosinso.com/ecp
Exchange ActiveSync – https://mail.tosinso.com/Microsoft-Server-ActiveSync
Exchange Web Services –https://mail.tosinso.comEWSExchange.asmx
Offline Address Book – https://mail.tosinso.com/OAB
AutoDiscover – https://mail.tosinso.comAutodiscoverAutodiscover.xml

برای اطلاع بیشتر در مورد Certificate لینک زیر را بخوانید:

Exchange Server Certificate

در جلسه قبلی ما Exch 2016 را نصب کردیم وهمچنین خاصیت SCP را تعقیر دادیم. اجازه بدید سناریو را توضیح بدم تا جائی گنگ نباشه. هدف ما مهاجرت از Exch 2013 to Exch 2016 می باشد. DNS Public سازمان در شبکه خود سازمان در ناحیه DMZ نگهداری می شود. در نتیجه من دوتا Zone دارم یکی برای کاربران داخلی و یکی هم برای دامنه خارجی سازمان. و من قبلا Exch 2013 را Publish کرده بودم که همه کاربران داخلی و خارجی با ادرس https://mail.my-city.com به Exchange وصل می شوند.
Exch 2016 با ادرس 192.168.1.3 هستش که من بوسیله ادرس https://mail-02.my-city.local وصل می شوم. الان قصد دارم Certificate ی که بر روی Exch 2013 هستش رو Export کنم و آن را روی Exch 2016 ایمپورت کنم. اولین قدم شناسائی Certificate می باشد برای اینکار EMS را در Exch 2013 اجرا کنید و دستور زیر را وارد کنید:

Get-ExchangeCertificate | fl Thumbprint,NotAfter,Issuer,CertificateDomains,Services
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت دوم


Certificate مورد نظر را مشخص می کنیم در مثال بالا Certificate من با

Thumbprint= 4AC586A2F6885976A88057AF07698C853CD47DAC

نشان داده شده.
الان باید این Certificate رو Export کنم.
ما باید Public key and Private key را اکسپورت کنیم و آنها را به Exch 2016 منتقل کنیم. در دستور زیرز ما باید یک پسورد ست کنیم. چون Private key را نگهداری میکند.
که در این مثال پسور ما Password1می باشد. و فایل را در درایو C:\ با اسم Exchange2013Cert.pfx ذخیره می کند برای Export دستورات زیر را به ترتیب وارد کنید:

password = ConvertTo-SecureString "Password1" -AsPlainText –Force
Export-ExchangeCertificate -Thumbprint 4AC586A2F6885976A88057AF07698C853CD47DAC -FileName C:\Exchange2013Cert.pfx -Password $password | Out-Null
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت دوم


الان فایلی که در C:\ هستش را به Exch 2016 منتقل کنید و EMS را اجرا کنید و دستورات زیر را به ترتیب اجرا کنید و اگر از شما درخواست کرد که از تنظمات پیش فرض SMTP Certificate استفاده کند حرف n را وارد کنید:

$password = ConvertTo-SecureString " Password1" -AsPlainText –Force
Import-ExchangeCertificate -FileName C:\Exchange2013Cert.pfx -PrivateKeyExportable $true –Password $password | Enable-ExchangeCertificate –Services POP,IMAP,IIS,SMTP –DoNotRequireSsl
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت دوم


خب ظاهرا همه چیزی به خوبی تموم شد D:
الان برید توی کنسول IIS چک کنید Certificate اعمال شده یا نه؟

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت دوم


در جلسه بعدی Virtual Directory ها را تنظیم می کنیم.

در قسمت اول از این سری آموزش ما Exchange 2016 را نصب کردم و همچنان خاصیت SCP را هم تنظیم کردیم که کاربران همچنان به Exchange 2013 وصل شوند. و در قسمت دوم Certificate را تا حدودی توضیح دادیم و Certificateی که مورد استفاده Exchange 2013 بود را اکسپورت و آن را در exchange 2016 امپورت کردیم. در این جلسه قصد داریم Virtual Directory ها را تنظیم و CAS سرور Exch 2013 را به Exchange 20016 منتقل کنیم.ما می خواهیم URL و Hostname های سرویس های زیر که در Exchange 2016 هستن را مطابق با تنظیماتی که در Exchange 2013 وجود دارد تنظیم کنیم:

  • Outlook Anywhere
  • Exchange Control Panel
  • Outlook Web Access
  • Exchange Web Services
  • ActiveSync
  • Offline Address Book
  • MAPI over HTTP

در حال حاضر تنظیمات Virtual Directory در Exchange 2013 بصورت https://mail.my-city.com ست شده و ما باید این FQDN را بر روی Internal $ External URL سرور Exchange 2016 تنظیم کنیم.
شما بوسیله دو متد گرافیکی و کامندی می توانید سرویس های بالا را تنظیم کنید. که من از کامند استفاده می کنم. به علت راحتی و دقت بالای آن.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم

آموزش تنظیمات Outlook anywhere

رای تنظیم Set Outlook Anywhere دستور زیر را در EMS سرور Exchange 2016 اجرا کنید:
( سرور exch 2016 من Mail-02 هستش)

Get-OutlookAnywhere -Server mail-02 | Set-OutlookAnywhere -InternalHostname mail.my-city.com-InternalClientAuthenticationMethod Ntlm -InternalClientsRequireSsl $true -ExternalHostname mail.my-city.com-ExternalClientAuthenticationMethod Basic -ExternalClientsRequireSsl $true -IISAuthenticationMethods Negotiate,NTLM,Basic
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم

آموزش تنظیمات Set Exchange Control Panel URLs

Get-EcpVirtualDirectory -Server mail-02 | Set-EcpVirtualDirectory -InternalUrl https://mail.my-city.com/ecp -ExternalUrl https://mail.my-city.com/ecp
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


هشدار بالا میگه OWA را هم با این مقدار تنظیم کنید (URL)

آموزش تنظیمات Set Outlook Web Access URLs

Get-OwaVirtualDirectory -Server mail-02 | Set-OwaVirtualDirectory -InternalUrl https://mail.my-city.com/owa -ExternalUrl https://mail.my-city.com/owa
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم

آموزش تنظیمات Set Exchange Web Services URLs

Get-WebServicesVirtualDirectory -Server mail-02 | Set-WebServicesVirtualDirectory -InternalUrl https://mail.my-city.com/EWS/Exchange.asmx -ExternalUrl https://mail.my-city.com/EWS/Exchange.asmx
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم

آموزش تنظیمات Set ActiveSync URLs

Get-ActiveSyncVirtualDirectory -Server mail-02 | Set-ActiveSyncVirtualDirectory -InternalUrl https://mail.my-city.com/Microsoft-Server-ActiveSync -ExternalUrl https://mail.my-city.com/Microsoft-Server-ActiveSync
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم

آموزش تنظیمات Set Offline Address Book URLs

Get-OabVirtualDirectory -Server mail-02 | Set-OabVirtualDirectory -InternalUrl https://mail.my-city.com/OAB -ExternalUrl https://mail.my-city.com/OAB
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم

آموزش تنظیمات Set MAPI Virtual Directory

وقتی این پارامتر لازمه که می خواهید ارتباط همه کاربران با اکسچنج از طریق MAPI باشد. برای اطلاع بیشتر درباره MAPI over Http اینجا کلیک کنید.

Get-MapiVirtualDirectory -Server mail-02 | Set-MapiVirtualDirectory -InternalUrl https://mail.my-city.com/mapi -ExternalUrl https://mail.my-city.com/mapi
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


برای اینکه این تعقیرات زوتر در Autodiscovery اعمال بشه MSExchangeAutodiscoverAppPool را در کنسول IIS گذینه recycle کلیک کنید.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


ترفند:
برای اینکه تمام تعقیرات بالا را بصورت اتوماتیک انجام دهید از اسکریپت PAUL CUNNINGHAM استفاده کنید. برای اطلاع بیشتر لینک زیر را بخوانید:

http://exchangeserverpro.com/powershell-script-configure-exchange-urls/

بعد از انجام موارد بالا باید درخواستهای که به سرویس CAS سرور Exchange 2013 می شد را به سمت CAS سرور Exchange 2016 منتقل کنیم. یعنی از این به بعد هر کاربری که خواست ایمیلی ارسال یا دریافت کند و یا به Exchange وصل شود درخواست آنها اتوماتیک به سمت Exchange 2016 ارسال شود و کسی سمت Exchange 2013 فوروارد نشود.قبل از اینکه کاملا این انتقال را تنظیم کنیم بهتر است بر روی چند کلاینت این تعقیرات را انجام دهیم و بعد از مشاهده نتیجه بصورت کلی تعقیرات را اعمال کنیم.در این سناریو من برای تست مقدار زیر را در host فایل C:\Windows\system32\drivers\etc\hosts ایجاد می کنم:

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


وقتی که تعقیرات را Save کرده اید تست بزنید می توانید بوسیله Outlook به Exchange وصل شوید؟ اگر بدون هیچ مشکلی وصل شدید میتوانید از خارج سازمان هم تعقیرات بالا را در Host فایل ایجاد کنید و IP Public سرور Exchange را ست کنید و از بیرون تست بزنید اگر در هر دو مورد با موفقیت وصل شده اید می توانید تنظیمات اساسی را در ساختار exchange ایجاد کنید.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


در آخر اگر توانستید با موفقیت به Exchange 216 وصل شوید باید بصورت کلی همه ترافیک ارسالی توسط کاربران رابه سمت Exchange 2016 منتقل کنید. برای اینکار باید A Record سرور Exchange 2013 را به IP سرور Exchange 2016 تعقیر دهیم.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت سوم


اگر تعقیرات بالا را انجام دادید باید NAT خود را در Firewall or Router را به این IP تنظیم کنید که کاربران خارجی بتوانند وصل شوند.در جلسه بعدی Mailbox Database ها و بقیه پارامترها که در Exchange 2013 هستند را به Exchange 2016 منتقل خواهیم کرد.

در جلسات قبلی ما Exchange 2016 را نصب کردیم و Certificate و Virtual Directory ها را تنظیم کردیم. همچنان CAS role را از Exchange 2013 به Exchange 2016 منتقل کردیم.در این جلسه قصد داریم Mailbox database های Exch 2016 را تنظیم و Mailbox های Exchange 2013 را به Exchange 2016 منتقل کنیم.

تغییر نام و انتقال Default Mailbox Database

اولین قدم در این راستا تعقیر نام دیتابیس های پیش فرض Exchange 2016 و انتقال آنها به Volume های دیگه می باشد.وقتی شما Exchange را نصب می کنید دیتابیس و Log فایلها exchange در درایور C:\ ذخیره می شود. اکیدا توصیه می شود که این دیتابیس و Log های آن را در جائی غیر از Volume سیستم عامل منتقل کرد. قبل از این کار اجازه بدید دیتابیس های Exchange 2016 را لیست کنیم و بعد عملیات انتقال را انجام دهیم. برای اینکار دستور زیر را در EMS وارد کنید:
نکته: در این کیس سرور Exchange 2016 من Mail-02 هستش

Get-MailboxDatabase -Server mail-02
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


مشاهده می کنید که یک دیتابیس وجود دارد که یک اسم طولانی و بی معنی دارد.
قصد دارم این دیتابیس را به DBEX2016 تعقیر نام بدم. برای اینکار دستور زیر را وارد کنید:

Set-MailboxDatabase -Identity "Your_Mailbox Database" -Name DBEX2016
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


الان قصد دارم دیتابیس را در مسیر E:\Exch2016 DB و Log فایلها را در E:\Exch2016 Log Files منتقل کنم.
برای اینکار دستور زیر را وارد کنید:

Move-DatabasePath -Identity  -EdbFilePath "your-path.edb" -LogFolderPath "your-path"
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم

آموزش ایجاد Mailbox Database

بعد از اعمال تعقیرات بالا توصیه شده یک Mailbox Database دیگه ای ایجاد شود. دیتابیس جدید در E:\Exch2016 DB-02 و Log فایلهای آن در E:\Exch2016 Log Files-02 ذخیره خواهد شد. و همچنین نام این دیتابیس DBEX2016-02 می باشد.برای اینکار دستور زیر را وارد کنید:

New-MailboxDatabase -Server mail-02 -Name DBEX2016-02 -EdbFilePath "E:\Exch2016 DB-02\DBEX2016-02.edb" -LogFolderPath "E:\Exch2016 Log Files-02"
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


بعد از اجرای دستور فوق سرویس Microsoft Exchange Information Store را Restart کنید.الان باید دیتابیس ساخته شده را Mount کنیم. دستور زیر را وارد کنید:

Mount-Database 
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


الان اماده شدیم که به مرحله بعدی بریم. Let’s go

آموزش انتقال Mailbox های اکسچنج سرور 2016

قدم بعدی انتقال Mailbox های Exchange 2013 به Exchange 2016 هستش. این انتقال شامل چندین پارامتر می باشد:

  • Arbitration mailboxes (system mailboxes)
  • Public folder mailboxes
  • User mailboxes (this includes journal mailboxes)
  • Archive mailbox

نکته: Arbitration mailboxes میل باکسهای می باشند که با نصب Exchange ایجاد می شوند و برای عملکرد Exchange ضروری می باشد. ما باید این پارامتر را به Exchange 2016 انتقال بدیم.

انتقال Mailbox های سیستمی Exchange Server 2013 به Exchange Server 2016

برای لیست کردن Arbitration mailboxes از دستور زیر استفاده کنید:

Get-Mailbox –Arbitration
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


ما باید کل Arbitration mailboxes را به Exchange 2016 منتقل کنیم. برای انتقال آنها از دستور زیر استفاده کنید:

Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase 
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


برای اینکه مطمئن شویم که عملیات انتقال با موفقیت انجام شد دستور زیر را وارد کنید:

Get-MoveRequest | Get-MoveRequestStatistics
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم

آموزش انتقال Public Folder Mailbox به اکسچنج سرور 2016

قدم بعدی انتقال Public Folderها می باشد.
برای لست کردن Public Folder ها در Exchange 2013 از دستور زیر استفاده کنید. (در این کیسExchange 2013 من Mail می باشد.)

Get-Mailbox -Server mail –PublicFolder
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


برای انتقال Public Folder از دستور زیر استفاده کنید:

New-MoveRequest  -TargetDatabase 
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


آموزش انتقال User Mailbox ها

شما می توانید از چندین روش Mailbox های کاربران را به Exchange 2016 منتقل کنید:

  • بصورت انفرادی
  • کاربران OU مورد نظر
  • همه Mailbox های یک دیتابیس
  • همه Mailbox های سرور Exchange

همچنین شما می توانید در هنگام انتقال مشخص کنید که فقط Mailbox کاربر بدون Archive منتقل شود یا برعکس.

Move a single user mailbox:
قصد دارم فقط کاربر M.Nasiri با میل باکس و ارشیو به دیتابیس DBEX2016 که دیتابیس Exchange 2016 می باشد منتقل کنم. برای اینکار دستور زیر را وارد کنید:

New-MoveRequest  –TargetDatabase 
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم



Move all user mailboxes in a particular database:
می خواهم کل میل باکسهای کاربران با میل باکس و ارشیو، را از دیتابیس DB-01 که دیتابیس Exchange 2013 می باشد را به دیتابیس DBEX2016 که دیتابیس Exchange 2016 می باشد، منتقل کنم.

Get-Mailbox -Database  | New-MoveRequest -TargetDatabase 
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم


همچنین شما می توانید میل باکس یک کاربر (بدون ارشیو) را منتقل کنید:

Get-Mailbox  | New-MoveRequest -TargetDatabase  -PrimaryOnly

یا برعکس

Get-Mailbox  | New-MoveRequest -TargetDatabase  -ArchiveOnly

در اخر چک کنید عملیات انتقال در چه مرحله ای هستش؟

Get-MoveRequest | Get-MoveRequestStatistics
نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت چهارم

در قسمتهای قبل ما Exch 2016 را نصب کردیم و Certificate معتبر را بر روی آن امپورت کردیم و همچنین Virtual Directoryها و CAS را منتقل کردیم، در قسمت قبل ما Mailbox Database پیش فرض Exch 2016 را تنظیم کردیم و همچنان یک Mailbox Database جدید ایجاد کردیم و Mailbox های کاربران را از Exch 2013 به Exch 2016 منتقل کردیم.در این جلسه که جلسه آخر این بحث می باشد قصد داریم مباحث تکمیلی و همچنان حذف Exchange 2013 را توضیح دهیم.یکی از چیزهای که در آخر انتقال Exch 2013 به Exch 2016 باید بهش توجه کرد قضیه Mail Flow هستش منظورم تنظیمات Mail flow نیست منظور گردش میل ها و نحوه ورود و خروج میل ها به Exchange می باشد.همه این موارد را یکی یکی برسی می کنیم.

  • Port Forwarding : بعد از انتقال حتما تنظیمات Port forwarding را در firewall or Router را چک کنید. اگر IP داخلی Exch 2016 با Exch 2013 تعقیر کرده این تعقیر را در Firewall or Router اعمال کنید.
  • Split DNS : اگر از دو DNS استفاده می کنید. ( یکDNS برای دامنه داخلی و یک DNS برای دامنه خارجی) حتما A Record and MX رکورد را در Public DNS ایجاد کنید.
  • SPF Record : برای اطلاع بیشتر درباره SPF رکورد اینجا کلیک کنید.برای جلوگیری از SPAM شدن Email ها این رکورد را باید در Public DNS برای Exch 2016 ایجاد کنید.
  • PTR Record : بیشتر SMTP Sever ها از این روش برای احراز هویت Mail Server استفاده می کنند و شما حتما باید برای Exchange Server خود یک PTR Record ایجاد کنید. اینجا یه مسئله ای وجود داره که حتما باید بهش توجه کرد:

اگر Exchange Server شما مستقیما با بقیه Mail Serverها در ارتباط می باشد شما باید برای IP Public ی که به Exchange اختصاص داده اید یک PTR Record ایجاد کنید. ولی نه اگر یک Smart Host یا یک Edge Transport server در ساختار راه اندازی کرده اید و send Connector را به یکی از این دیوایسها تنظیم کرده اید باید PTR Record برای Smart host or Edge Transport server تنظیم شود، چون این دو دیوایس مسئول ردو بدل کردن Mailها می باشند.

  • Receive Connector : اگر در سازمان برنامه ای یا دیوایسی دارید که علاوه بر Exchange به کاربران سازمان میل می فرستد ، باید مطمئن شوید برای آن برنامه یا دیوایس یک Receive Connector در Exchange 2016 ایجاد کنید. و بقیه پارامترها که برای هر نوع سازمان به یه شکلیه.

حذف کردن اکسچنج سرور 2013

قبل از اینکه Exchange 2013 را از ساختار حذف کنید اجازه بدید یک تست را انجام بدیم و بعد از دیدن نتیجه اقدام به حذف Exchange کنیم.همه سرویس های Exchange 2013 را غیرفعال کنید......الان می توانید با موفقیت به Exchange 2016 هم از داخل سازمان و بیرون سازمان بوسیله OWA یا Outlook وصل شوید؟؟؟؟ اگه اره. پس با خیال راحت Exchange 2013 را حذف کنید.برای اینکار

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت آخر


مراحل حذف را تا آخر ادامه بدید و سیستم را Reboot کنید.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت آخر


الان Account Computer سرور Exchange 2013 را از Active Directory حذف کنید.

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت آخر


نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت آخر


بعد از آن تست بزنید ببینید می توانید به Exchange جدید وصل شوید؟

نحوه مهاجرت (Migration) از Exchange Server 2013 به Exchange Server 2016 قسمت آخر


تبریک میگن انتقال از Exchange 2013 به Exchange 2016 با موفقیت انجام شد. تمام مراحل بالا در یک محیط آزمایشگاهی تست شده است. و با موفقیت Migration صورت گرفته است.در اخر اگر مایل بودید می توانید بحث Backup گیری از Exchange بوسیله Backup Exec را اینجا مطالعه کنید.

امیدوارم بهره کافی از این آموزش را برده باشید.

منبع :

http://markgossa.blogspot.com/2015/12/exchange-2013-to-2016-migration-part-1.html


موفق و پیروز باشید


احمد جهلولی
احمد جهلولی

متخصص سرویس های مایکروسافت

Skilled Technologist with experience configuring computers, servers and peripheral devices to work within established company and security parameters. Adept at managing permissions, filters and file sharing. Devoted troubleshooter with deep understanding of system architecture and diagnostics.

27 اسفند 1394 این مطلب را ارسال کرده

نظرات