اگر Exchange 2016 همان Exchange 2013 در لباس قشنگتری بود، پس Exchange 2019 تنها یک کلاه به آن اضافه شده است. در گذشته، هر نسخه جدید یک بازسازی اساسی بود، اما Exchange 2016 همان Exchange نسخه 15.1 است. ( Exchange 2013 نسخه 15.0 بود و Exchange 2016 نسخه 15.1 است).
پس مهاجرت به Exchange 2019 مثل همان زمانی است که از 2013 به 2016 اتفاق افتاد، یا حتی میتوان گفت مثل رفتن از 2016 به خود 2016 است.
- قبل از نصب Exchange 2019 نباید Exchange 2010 servers روی دستگاه نصب باشد. نیاز است که ابتدا به نسخه 2013 یا 2016 بروزرسانی انجام دهید.
- Unified Communication Role دیگر در Exchange قرار ندارد! اگر نیاز به بروزرسانی دارید سراغ Skype for Business 2019 بروید.
- همچنان از Edge Server Role پشتیبانی شده است.
- Windows Server Core (2016) هم اکنون از Exchange 2019 پشتیبانی می کند.
- Windows Server 2019 نسخه استاندارد و یا نسخه ی مرکز داده، سیستم عاملهای میزبان قابل استفاده هستند.
راه حل
مانند تمامی مهاجرت های Exchange قبل از هر چیز از سلامت Active Directory Domain/DNS و ساختار Exchange موجود اطمینان حاصل کنید. سپس Exchange کنونی را به آخرین نسخه بروز رسانی کنید.
پیش نیازهای Exchange 2019
قبل از هر چیز لازم است که Server 2012R2 و Server 2016 به صورت کامل بروز زسانی شده و به دامین شما اضافه شده باشد، سپس برای اضافه کردن نقش های لازم و سرویس ها از دستورات پاورشل زیر برای Server 2012، 2016 و 2019 استفاده کنید:
Server 2016 / 2012 R2
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, RSAT-ADDS
Server 2019
Install-WindowsFeature 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, RSAT-ADDS
توجه: (برای Server 2019 این نکته نیاز نیست): نیاز دارید که .Net 4.7.2 (لینک)، را برای Server 2016 و Server 2012 نصب کنید.
شما بایستی که MS Communications API 4.0 (لینک) را نصب کنید.
همچنین نیاز دارید Microsoft Visual C++ را نیز (لینک) نصب کنید.
Exchange 2019 را دانلود کنید، ویا DVD آن را در درایور قرار دهید، و
Setup.exe >Next> Next> Files را اجرا کنید، فایلها کپی خواهند شد.
آیا من نیازی به extend کردن schema، forest و یا domain ندارم؟ نصب تمام این بخش ها برای شما انجام خواهد شد و شما دیگر نیازی ندارید که به صورت دستی این کارها را انجام دهید. (اگر بخواید میتوانید به صورت دستی، قبل از نصب ، موارد ذکر شده را انجام دهید، ولی مگر اینکه schema master شما در یک root domain متفاوب باشد، و یا شما مدیر sechema نباشید، دلیلی برای این کار نیست!)
در صفحه معرفی این مراحل را دنبال کنید. Introduction Page > Next > در قسمت EULA تیک “I Accept…” را بزنید.بعد Next را بزنید و تیک “Use Recommended settings” را بزنید و بعد Next را بزنید.
گزینه های ‘Mail role’ و ‘Automatically install Windows Server roles and features…’ را بزنید و Next را بزنید و دایرکتوری مورد نظر برای نصب را انتخاب کنید، توجه: معمولا این را نمیخواهید که نصب را در درایو Windows System نصب کنید. Next را بزنید، مگر اینکه دلیل معقولی برای غیرفعال کردن Malware scanning داشته باشید، گزینه ‘No’ را انتخاب کنید و Next را بزنید.
این مراحل را دنبال کنید: Readiness Checks > Fix and Errors and heed any warnings > Install >
محصول نصب خواهد شد، این پروسه زمان زیادی خواهد برد.
گزینه های Finish و سپس Reboot را انتخاب کنید.
و اینم از Exchange 2019 Server جدید ما.
برای وارد کردن کلید Exchange 2019 مراحل زیر را دنبال کنید
Servers > Servers > را انتخاب کنید2019 Exchange Server > را وارد کنید Product Key > Save
توجه: در نسخه ی pre-release Exchange 2019، کلیدهای Exchange 2016 نیز به درستی کار می کنند.
در صفحهی Warning دکمه Ok را بزنید.
سرویس ‘Microsoft Exchange Information Store’ را Restart کنید.
Restart-Service MSExchangeIS
انتقال Exchange Certificate به Exchange 2019
من از یک گواهی wildcard استفاده میکنم پس می خواهم گواهی را از exchange 2016 server، Export کنم و در exchange 2019 server، Import کنم. شما هم احتمالا میخواهید همچین کاری انجام بدید. مسیر زیر را دنبال کنید:
Servers > Certificates > را انتخاب کنید Exchange 2016 Server, Drop down از منوی > Select The Certificate > کلیک کنید ellipses (three dots) روی > Export Exchange Certificate > Supply a UNC path and password > OK.
تغییر دهید Exchange 2019 Server را بهDropdown > کلیک کنید ellipsis روی> Import Exchange Certificate > Supply the UNC path and password you used (above) > Next.
اضافه کردن Exchange 2019 Server و در آخر Finish را بزنید.
انتصاب سرویس ها به گواهی ها در Exchange 2019
گواهی ای که به تازگی import شده است را انتخاب کنید. و مراحل زیر را دنبال کنید:
Edit > Services > Select the services > Save >
توجه: من در اینجا SMTP و IIS را انتخاب میکنم. (برای IMAP و POP نمیتوانید از گواهی wildcard استفاده کنید).
تغییر نام Mailbox Database در Exchange 2019
مراحل زیر را دنبال کنید:
Servers > Databases > Exchange > را انتخاب کنید Database ، 2019 Exchange Serverدر قسمت > Edit > تغییر نام دهید > Save.
توجه: مسیر به Database با همان اسم اصلی (قبلی) باقی می ماند (می تونیم این موضوع را در مرحله بعد حل کنیم).
رفتن به Mail Database در Exchange 2019
شما ممکن است بگویید من خیلی به روز نیستم ، من دوست دارم که پایگاه داده های Exchange ام در درایو یا پارتیشن خودشان باشند، و دوست دارم log ها در درایو یا پارتیشن دیگری که مال خودشان است باشند. برای جا به جا کردن هر دوی Database و Log ها دستور زیر را استفاده کنید:
Move-DatabasePath -Identity Database-Name -EdbFilePath X:\Folder\Database\Database-Name.edb -LogFolderPath L:\Folder\Log-Folder\
اضافه کردن Exchange 2019 به Send Connector
مراحل زیر را دنبال کنید:
Mail Flow > Send Connectors > های خود را انتخاب کنیدSMTP connector(s) > Edit > Scoping > Source Server section > Add > اضافه کنید سرور جدید را > OK > Save.
توجه: Exchange server الان نیاز خواهد داشت که پورت outbound شماره 25 پروتکل TCP اش روی firewall شرکت باز باشد.
انحلال Exchange 2016
از اینجا به بعد میخوایم شروع کنیم که از دست Exchange 2016 server خلاص شویم، هرچند میتوانند به صورت همزمان در کنار هم باشند(می توانید اگر بخواهید یه مدت نگهش دارید).
به همان دلیل “mail flow” در firewall را تغییر می دهم که به Exchange server در این نقطه، و به HTTP accsee برای OWA، Outlook در هرجا، و phone/Tablet access اشاره کند.
مهاجرت Mailbox در Exchange 2019
بله میتوانید این کار را در EAC انجام دهید، ولی من ترجیح می دهم که از طریق PowerShell این کار را انجام بدهم. مراحل زیر را دنبال کنید:
Recipients > Migration > Add >دیگر بروید Databaseبه یک > را اضافه کنید mailboxes/users > Next.
به “Batch” یک اسم بدهید، اگر Archive mailbox دارید برای تغییر مکان انتخاب کنید، مقصد Exchange 2019 Database را انتخاب کنید، اگر از archive mailboxe ها استفاده می کنید، پایگاه داده archive maibox مد نظر را انتخاب کنید. Bad Item linit را روی 99 بزارید. Next را بزنید و automatically Start را انتخاب کنید و New را بزنید.
از این مرحله بعد، این جایی است که من EAC را دوست ندارم. سال ها طول می کشد تا با به روز رسانی شود.
برای داشتن یک لیست بهتر از فرمان های تغییر مکان user mailbox ها، و نظارت مهاجرت، و حذف کردن درخواست های تغییر مکان زمانی که کارتان را تمام کردید، مقاله ی زیر را مطالعه کنید:
دستورات Exchange: PowerShell
مهاجرت Mailbox های سیستم Exchange
قبل از اینکه شروع کنید دستور زیر را وارد کنید:
Set-AdServerSettings -ViewEntireForest $true
علاوه بر user mailbox ها تعداد زیادی “System mailbox” وجود دارد، قبل از اینکه بتوانید از دست Exchange 2016 Database خلاص شویم باید آن ها را انتقال دهیم.
اول AuditLog Mailbox ها
Get-Mailbox -AuditLog -Database “Mailbox-Database-2016“
اگر چیزی از آن ها وجود داشته باشد!
Get-Mailbox -AuditLog -Database “Mailbox-Database-2016” | New-MoveRequest -TargetDatabase “Mailbox-Database-2019“
سپس Arbitration Mailbox ها
Get-Mailbox -AuditLog -Database “Mailbox-Database-2016” –Arbitration
اگر چیزی از آن ها وجود داشته باشد!
Get-Mailbox -AuditLog -Database “Mailbox-Database-2016” -Arbitration | New-MoveRequest -TargetDatabase “Mailbox-Database-2019“
بعد از آن Monitoring Mailbox ها
Get-Mailbox -Monitoring -Server “Mail-2016“
اگر چیزی از آن ها وجود داشته باشد!
Get-Mailbox -Monitoring -Server “Mail-2016” | New-MoveRequest -TargetDatabase “Mailbox-Database-2019“
مطمئن شوید که archive mailbox ای نباشد.
Get-Mailbox -Auditlog -Database “Database-Name” -Archive
اگر وجود داشت، مانند بالا آن ها را جا به جا کنید.
همچنین هرگونه Discovery mailbox ای بود را جا به جا کنید، و به 2019 مکانشان را تغییر دهید.
Get-Mailbox DiscoverySearchMailbox* | New-MoveRequest -TargetDatabase “Mailbox-Database-2019“
پاک کردن پایگاه داده های Exchange 2016
زمانی که 100 درصد مطمئن شدید که هیچ چیزی روی پایگاه داده های قدیمی جا نمانده است، آن ها را حذف کنید:
Get-MailboxDatabase -Identity “Mailbox-Database-2016” | Remove-MailboxDatabase
Uninstall کردن Exchange 2016
دایرکتوری نصب شما ممکن است درایو C: نباشد بنابراین مسیر خود را با توجه به درایوی که Exchange 2016 روی آن نصب شده تعییر دهید:
cd “C:\Program Files\Microsoft\Exchange Server\V15\Bin
setup.exe /mode:uninstall
در این مرحله اطمینان حاصل کنید نرم افزار پشتیبان گیری شما به Exchange 2019 server جدید اشاره کرده باشد.
سلام خسته نباشید این System mailbox روی همه دیتابیس های سرور قبلی وجود داره یا فقط Default DB وجود داره؟