به گزارش خبر دپارتمان فناوری اطلاعات گروه عظام، در راستای مسئولیت اجتماعی خود در زمینه نشر دانش، تصمیم به انتشار آموزش Exchange 2019 به عنوان یکی از برترین ایمیل سرورهای دنیا، گرفته است. قسمت چهارم از این آموزش تقدیم شما مخاطبین عزیز می گردد:
Address List
یک Address List، مجموعه ای از Recipient ها و دیگر Object های Active Directory است. Global Address List (GAL)، یک Address List است که شامل تمامی کاربران دارای Mailbox و نیز Object های Active Directory می گردد. اما گاهی GAL بسیار بزرگ می شود و ممکن است لازم باشد Address List های کوچکتر بر مبنای دپارتمان یا محل جغرافیایی ساخته شود.
Default Address List ها عبارتند از:
All Contacts
All Distribution Lists
All Rooms
All Users
Default Global Address List
Public Folders
Address Book Policy
از Address Book Policy به منظور تقسیم نمودن یا جداسازی GAL به چند Address list در مواردی از قبیل موارد زیر استفاده می شود:
- دو شرکت جداگانه که دارای یک Exchange Organization هستند.
- دو شرکت که دارای یک مدیرعامل مشترک باشند
سناریو: به طور مثال اگر یک شرکت هولدینگ بنام Ezam و دو شرکت زیر مجموعه به نام های Payaclutch و FSIRAN را در نظر بگیریم به نحوی که تمامی مجموعه دارای یک Exchange Organization باشد و نام Domain آن، Ezam.com باشد و کاربران شرکت Payaclutch در یک OU به نام Payaclutch و کاربران شرکت FSIRAN در OU دیگری بنام FSIRAN قرار داشته باشند. آنگاه برای ایجاد دو Address Book Policy برای هر کدام از شرکت های زیر مجموعه، به فرم زیر عمل می کنیم:
الف- در مرحله اول Address Book Routing Agent را در EMS نصب و Enable می نماییم:
Install-TransportAgent -Name "ABP Routing Agent" -TransportAgentFactory "Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.AddressBookPolicyRoutingAgentFactory" -AssemblyPath $env:ExchangeInstallPath\TransportRoles\agents\AddressBookPolicyRoutingAgent\Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.dll
Enable-TransportAgent “ABP Routing Agent”
ب- در مرحله بعد، سرویس Transport باید Restart شود و سپس Address Book policy Routing، فعال (Enable) شود:
Restart-Service MSExchangeTransport
Set-TransportConfig –AddressBookpolicyRoutingEnabled $True
ج- در این مرحله با Set کردن Custom Attribute جداگانه برای Recipient های هر شرکت، نسبت به تقسیم بندی آنها، اقدام می کنیم:
برای شرکت Payaclutch:
Get-Mailbox -OrganizationalUnit Ezam.com/Payaclutch | Set-Mailbox -CustomAttribute1 Payaclutch
Get-MailUser -OrganizationalUnit Ezam.com/Payaclutch | Set-MailUser -CustomAttribute1 Payaclutch
Get-MailContact -OrganizationalUnit Ezam.com/Payaclutch | Set-MailContact -CustomAttribute1 Payaclutch
Get-DistributionGroup -OrganizationalUnit Ezam.com/Payaclutch | Set-DistributionGroup -CustomAttribute1 Payaclutch
Get-DynamicDistributionGroup -OrganizationalUnit Ezam.com/Payaclutch | Set-DynamicDistributionGroup -CustomAttribute1 Payaclutch
برای شرکت FSIRAN:
Get-Mailbox -OrganizationalUnit Ezam.com/FSIRAN | Set-Mailbox -CustomAttribute1 FSIRAN
Get-MailUser -OrganizationalUnit Ezam.com/FSIRAN | Set-MailUser -CustomAttribute1 FSIRAN
Get-MailContact -OrganizationalUnit Ezam.com/FSIRAN | Set-MailContact -CustomAttribute1 FSIRAN
Get-DistributionGroup -OrganizationalUnit Ezam.com/FSIRAN | Set-DistributionGroup -CustomAttribute1 FSIRAN
Get-DynamicDistributionGroup -OrganizationalUnit Ezam.com/FSIRAN | Set-DynamicDistributionGroup -CustomAttribute1 FSIRAN
د- در این مرحله، Address List های مورد نیاز را ایجاد می کنیم:
برای شرکت Payaclutch:
New-AddressList -Name "Payaclutch-AllUsers" -RecipientFilter {((RecipientType -eq 'UserMailbox') -and (CustomAttribute1 -eq "Payaclutch"))} | Update-AddressList
New-AddressList -Name "Payaclutch-AllContacts" -RecipientFilter {((CustomAttribute1 -eq 'Payaclutch') -and ((RecipientType -eq 'MailUser') -or (RecipientType -eq 'MailContact')))} | Update-AddressList
New-AddressList -Name "Payaclutch-AllDistributionLists" -RecipientFilter {((CustomAttribute1 -eq 'Payaclutch') -and ((RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'MailUniversalSecurityGroup') -or (RecipientType -eq 'MailNonUniversalGroup') -or (RecipientType -eq 'DynamicDistributionGroup')))} | Update-AddressList
New-AddressList -Name "Payaclutch-AllRooms" -RecipientFilter {((customAttribute1 -eq "Payaclutch") -and (Alias -ne $null) -and ((RecipientDisplayType -eq "ConferenceRoomMailbox") -or (RecipientDisplayType -eq "SyncedConferenceRoomMailbox")))} | Update-AddressList
برای شرکت FSIRAN:
New-AddressList -Name "FSIRAN-AllUsers" -RecipientFilter {((RecipientType -eq 'UserMailbox') -and (CustomAttribute1 -eq "FSIRAN"))} | Update-AddressList
New-AddressList -Name "FSIRAN-AllContacts" -RecipientFilter {((CustomAttribute1 -eq 'FSIRAN') -and ((RecipientType -eq 'MailUser') -or (RecipientType -eq 'MailContact')))} | Update-AddressList
New-AddressList -Name "FSIRAN-AllDistributionLists" -RecipientFilter {((CustomAttribute1 -eq 'FSIRAN') -and ((RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'MailUniversalSecurityGroup') -or (RecipientType -eq 'MailNonUniversalGroup') -or (RecipientType -eq 'DynamicDistributionGroup')))} | Update-AddressList
New-AddressList -Name "FSIRAN-AllRooms" -RecipientFilter {((customAttribute1 -eq "FSIRAN") -and (Alias -ne $null) -and ((RecipientDisplayType -eq "ConferenceRoomMailbox") -or (RecipientDisplayType -eq "SyncedConferenceRoomMailbox")))} | Update-AddressList
ه- در این مرحله برای هر شرکت، GAL مربوط به خود را ایجاد می کنیم:
برای شرکت Payaclutch:
New-GlobalAddressList -Name "Payaclutch Global Address List" -RecipientFilter {(CustomAttribute1 -eq "Payaclutch")} | Update-GlobalAddressList
برای شرکت FSIRAN:
New-GlobalAddressList -Name "FSIRAN Global Address List" -RecipientFilter {(CustomAttribute1 -eq "FSIRAN")} | Update-GlobalAddressList
و- در این مرحله، برای هر شرکت یک Offline Address Book (OAB) ایجاد می کنیم:
برای شرکت Payaclutch:
New-OfflineAddressBook -Name "Payaclutch Offline Address Book" -AddressLists "\Payaclutch Global Address List"
برای شرکت FSIRSN:
New-OfflineAddressBook -Name "FSIRAN Offline Address Book" -AddressLists "\FSIRAN Global Address "List
ز- در این مرحله برای هر شرکت یک Address Book Policy ایجاد می کنیم:
برای شرکت Payaclutch:
New-AddressBookPolicy -Name "Payaclutch ABP" -AddressLists "\Payaclutch-AllUsers", "\Payaclutch-AllContacts", "\Payaclutch-AllDistributionLists" -OfflineAddressBook "\Payaclutch Offline Address Book" -GlobalAddressList "\Payaclutch Global Address List" -RoomList "\Payaclutch-AllRooms"
برای شرکت FSIRSN:
New-AddressBookPolicy -Name "FSIRAN ABP" -AddressLists "\FSIRAN-AllUsers", "\FSIRAN-AllContacts", "\FSIRAN-AllDistributionLists" -OfflineAddressBook "\FSIRAN Offline Address Book" -GlobalAddressList "\FSIRAN Global Address List" -RoomList "\FSIRAN-AllRooms"
ح- در مرحله پایانی Address Book Policy هر شرکت را به Mailbox های آن شرکت Assign می کنیم:
برای شرکت Payaclutch:
Get-Mailbox -ResultSize unlimited | where {$_.customAttribute1 -eq "Payaclutch"} | Set-Mailbox -AddressBookPolicy "Payaclutch ABP"
برای شرکت FSIRAN:
Get-Mailbox -ResultSize unlimited | where {$_.customAttribute1 -eq "FSIRAN"} | Set-Mailbox -AddressBookPolicy "FSIRAN ABP"
ایجاد یک Address List:
برای Update یا ایجاد یک Address List در EAC، به شیوه زیر اقدام می کنیم:
EAC -----> Organization -----> Address Lists TAB
در این قسمت بر روی + کلیک می کنیم تا Address List مورد نظر را ایجاد کنیم. هنگام ایجاد Address List جدید، در قسمت Types of recipients to include، می توان تعیین نمود که چه نوع Recipient هایی در این Address List قرار بگیرند. همچنین با کلیک بر روی Add a rule می توان به یک Attribute، مقدار مورد نظر را داد تا این Address List، شامل Recipient هایی شود که دارای این Attribute هستند و یا زیر مجموعه Address Book Policy مورد نظر قرار بگیرد.
نکته: پس از ایجاد یک Address List باید بر روی Update در قسمت Detail Pane، کلیک کنیم.
Offline Address Book (OAB)
OAB به صورت پیش فرض، تصویری از GAL است که Outlook می تواند به منظور ارائه یک منبع محلی برای اعتبار سنجی آدرس های ایمیل و جستجو در آنها، از Exchange، دریافت (Download) می نماید.
تمامی کاربران موجود در GAL، به جز آنهایی که دارای ویژگی Hidden بودن از Address List ها هستند، شامل OAB نیز خواهند شد.
برای مشاهده کاربرانی که دارای ویژگی Hidden بودن از Address List ها هستند، از cmdlet زیر استفاده می شود:
Get-Recipient -Filter {HiddenFromAddressListsEnabled -eq $True}
Outlook به عنوان کلاینت، نیازمند Download نمودن یک کپی از OAB است تا به صورت Offline نیز کاملا" عملیاتی و فعال باشد.
Outlook هایی که در حالت Cached Exchange، پیکربندی می شده اند، به صورت اتوماتیک OAB را Download می کنند. Outlook به صورت روزانه Update های OAB را چک می کند و آنها را Download می نماید. امکان تغییر این چک روزانه وجود ندارد.
برای Download کردن OAB به صورت Manual در Outlook، در قسمت Send/Receive Group بر روی گزینه Download Address Book کلیک می کنیم.
بنابراین به طور کلی می توان گفت: یک OAB، یک کپی Download شده از یک Address Book است که به یک کاربر اجازه می دهد به آدرس های ایمیل کاربران، هنگامی که از سرور Exchange، جدا شده است (Disconnect شده است)، دسترسی داشته باشد.
Exchange Administrator ها می توانند تعیین کنند که کدام Address Book ها به صورت Offline نیز در دسترس کاربران قرار بگیرند.
OAB یک Virtual Directory در IIS نصب شده بر روی Exchange، ایجاد می کند. کلاینت های Outlook 2010، Outlook 2013، Outlook 2016 و Outlook 2019 از این Virtual Directory برای دریافت OAB استفاده می کنند. به این مکانیسم، Web Based Distribution گفته می شود.
نکته: با استفاده از cmdlet:
New-OABVirtualDirectory
می توان Virtual Directory جدید برای یک لیست OAB ایجاد نمود.
ایجاد یک OAB
اگر بخواهیم یک OAB جدید بنام WBD-OAB ایجاد نماییم که یک Address List از قبل ایجاد شده بنام My Address List را شامل گردد و از طرف دیگر، این OAB جدید بر روی یک سرور بنام VAN-EX1 ایجاد شود و از همان Default Virtual Directory برای Web Based Distribution استفاده کند، از cmdlet زیر استفاده می کنیم:
New-OfflineAddressBook -Name "WBD-OAB" -AddressLists "\My Address List" -VirtualDirectories "Exchange2019\OAB (Default Web Site)"
افزودن یک Address List به یک OAB:
باید توجه کرد که هنگامی که از پارامتر AddressLists استفاده می شود، تمامی Address List های موجود در OAB، ابطال خواهد شد. لذا اگر بخواهیم Address List های موجود باقی بماند، باید به همراه Address List جدید، Address List های موجود را نیز Add کنیم. به عنوان مثال cmdlet زیر عملیات افزودن Address List به یک OAB را صورت می دهد:
"Set-OfflineAddressBook -Identity "WBD-OAB" -AddressLists "My Address List", "My Address List 1
تعیین Default Offline Address Book
Set-OfflineAddressBook -Identity "WBD-OAB" -IsDefault $true
تعیین لیست Offline Address Book های Exchange
Get-OfflineAddressBook