Exchange Server 2019 郵件伺服器 自動化 PowerShell

輕鬆解決批次設定判斷處理 彈性效率遠勝圖形介面

不怕Exchange管理繁瑣 PowerShell指令一行搞定

2020-08-17
想要完全精通Exchange Server 2019,最終還是必須熟悉PowerShell命令的管理方式,為此本文將說明如何在PowerShell命令介面中快速找出所需的Exchange命令與用法,並講解相關的實用案例,以及對照透過圖形操作介面與使用PowerShell之間的差異。

 

想要學會Exchange Server 2019的基礎管理,只要透過實作伺服器部署、Exchange系統管理中心的操作,以及各類用戶端的配置即可,但若想要達到完全精通,則必須從熟悉PowerShell命令的管理方式著手。為此,本文除了會說明如何在PowerShell命令介面中快速找到當下所需要的Exchange命令與用法之外,還將講解幾個在業界實用的案例,並對照圖形操作介面與PowerShell的使用技巧,讓大家明白兩者之間的差異所在。

命令工具的重要性

在雲端架構下的IT環境,為了處理海量的資料,雖然有了虛擬化技術為基礎,但架構卻更加複雜,這包括伺服器作業系統、應用程式、資料庫、檔案、服務等等都大幅增加了,而唯一減少的就是實體主機與相關周邊設備的數量。IT部門為了部署、管理以及維護如此龐大的系統、程式、資料、檔案以及服務,單靠圖形介面工具的操作肯定行不通,因為它無法徹底滿足批次查詢與處理的需要,更無法彈性地建立自動化的Script。

在此舉個簡單的例子,假設現在奉命要把全公司一千多人信箱中,任何附件大於50MB的電子郵件通通刪除,如果採用圖形操作介面,就算給一個月的時間肯定也無法達標,但若以命令參數的方法來執行,只要執行以下命令參數即可在幾秒鐘之內執行完成:

Get-Mailbox | Search-Mailbox -SearchQuery 'hasattachment:True AND Size >52428800'-DeleteContent

為此,Microsoft從2006年開始推行比傳統DOS命令介面更強的方案,那就是Windows PowerShell。其實打從Exchange Server 2007版本開始,便已經開始提供結合Windows PowerShell的管理模式,主要原因便在於以圖形化介面的操作方式,無論介面設計得再精良,都難以滿足在不同IT架構環境之下,管理人員想要完全掌握Exchange每項細節配置的強烈需求。

有趣的是,PowerShell命令不僅提供給管理人員使用,其實人員在「Exchange系統管理中心」網站上所執行的任何操作,系統背地裡也都是在執行相對應的PowerShell命令與參數。關於這點如何證實呢?很簡單!只要在右上方的人員名稱選單中點選「顯示命令記錄」,即可開啟如圖1所示的「記錄檢視器」頁面,這裡還提供搜尋功能,能夠找到近期已執行過的命令。

圖1  命令記錄檢視器。

快速找到需要的命令

Windows PowerShell的命令不僅可以用來管理Windows系統的各項配置,還能夠管理Active Directory、Exchange Server、SharePoint等應用系統,因此可用的命令與參數相當的龐大,其中光是Exchange的可用命令就非常多,而且還能區分為內網部署與雲端Online版本可以使用的命令或參數。

以Exchange來說,可用的命令或參數也是隨時在官方的雲端中做更新,因此若想要隨時更新Exchange PowerShell說明主題(Help)的內容,只要在PowerShell命令視窗中執行「Update-ExchangeHelp -Verbose」命令參數,即可立即更新。

接下來,說明幾個在正式使用Exchange PowerShell之前應該知道的操作技巧。首先,若要找尋以「Test」為字首的命令,如圖2所示,則執行「Get-Command -Verb "Test"」命令參數。

圖2  搜尋「Test」字首的命令。

如圖3所示,接著透過執行「Get-Command -Noun *Mailbox*」命令參數,找出所有內含「Mailbox」關鍵字的命令清單。

圖3  搜尋與「Mailbox」相關的命令。

找尋到想要的命令之後,例如Add-MailboxDatabaseCopy,就可以立即執行「Get-Help Add-MailboxDatabaseCopy -Examples」命令參數,查看此命令的使用範例。如果需要查看完整的參數說明,則將-Examples參數換成-Detailed。

禁止PowerShell的連線

在Exchange Server伺服端的操作中,除了有之前介紹過的LaunchEMS內建命令可用來啟動Exchange PowerShell命令介面的方法外,也可以先在一般cmd的命令列下執行PowerShell,然後如圖4所示再執行「Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn」命令參數。完成執行之後,便可以開始執行Exchange相關的命令操作,例如Get-Mailbox。

圖4  伺服端開啟PowerShell。

只是要如何限制某一些Exchange的管理人員無法使用PowerShell連線呢?之前曾經介紹過的方法是透過Exchange Server 2019的新功能之一,也就是用戶端存取規則中的New-ClientAccessRule命令,來限制能夠連線存取的來源IP位址與服務類型。而以下命令參數的做法,則是直接啟用或停用使用者的遠端PowerShell存取權限,而且也能夠使用在舊版的Exchange Server中。

如圖5所示,透過執行以下命令參數,可以讓有職稱為「助理」的信箱用戶,無法透過使用PowerShell來連線Exchange Server:

圖5  限制人員PowerShell連線。

Get-User -ResultSize unlimited -Filter {(RecipientType -eq 'UserMailbox') -and (Title -like '助理')} | Set-User -RemotePowerShellEnabled $False

如果是要對於選定的某一位用戶直接停用PowerShell連線Exchange Server的權限,則參考以下命令參數:

Set-User "JoviKu" -RemotePower ShellEnabled $False

以下命令則可查詢哪些用戶已被關閉PowerShell連線Exchange Server的權限:

Get-User -ResultSize unlimited | FT -Auto Name,DisplayName,Remot ePowerShellEnabled

將用戶停用了PowerShell連線Exchange Server的權限之後,該用戶在透過遠端電腦並執行以下的命令參數,便會如圖6所示看到一堆紅字的錯誤訊息,內容中已說明了目前此帳戶的遠端PowerShell連線功能已被停用:

圖6  人員無法以PowerShell連線。

$UserCredential = Get-Credential  

$Session = New-PSSession -Con figurationName Microsoft.Exchange -ConnectionUri http://ex01.lab04. com/PowerShell/ -Authentication Kerberos -Credential  $UserCred ential

人員留職停薪的管理

組織中對於人員留職停薪的處理,在IT管理中是經常發生的事件。以Exchange信箱的管理而言,第一步便會在「Active Directory User and Computers」頁面中,針對選定的帳戶按下滑鼠右鍵來執行「Disable Account」功能,如圖7所示,以便讓此帳戶無法登入組織的網域以及連線個人的信箱。

圖7  使用AD帳號右鍵選單。

關於停用帳戶功能的設定方法,可以透過執行「Disable-ADAccount -Identity PeterLin」命令參數的方式來完成設定,並且還可以執行「Get-User -Identity PeterLin | FL DisplayName,AccountDisabled」命令參數,來查詢這個帳號的停用狀態。

除此之外,也可以對於選定的組織容器中所有帳戶進行停用,例如透過以下命令參數,將位於LAB04.COM網域下的HR組織容器所有帳號完成停用:

Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=HR,DC= LAB04,DC=COM" | Disable-ADAccount

若未來需要針對選定的停用帳戶進行啟用,只要改為執行Enable-ADAccount命令即可。

前面範例所介紹的是如何停用Active Directory帳戶,如果需要的是停用帳戶的信箱功能而非停用整個帳戶,以「Exchange系統管理中心」操作介面來說,便只要在「信箱」管理頁面中,針對選定的信箱點選位於選項的「停用」功能即可,如圖8所示。但請注意!可以停用的信箱類型只有人員信箱、連結信箱以及共用信箱。

圖8  開啟信箱功能選單。

若以PowerShell命令的執行方法,執行「Disable-Mailbox PeterLin」命令參數,即可將選定的帳戶信箱功能完成停用,如圖9所示。

圖9  停用選定信箱。

一旦帳戶的信箱功能被停用,該用戶在以OWA方式連線登入時,便會出現如圖10所示找不到該帳戶信箱的錯誤訊息。

圖10  OWA登入錯誤。

如果不是要停用信箱而是要刪除信箱,則使用Remove-Mailbox命令,兩者的差別在於,當執行刪除信箱命令後,信箱會與關聯的帳戶中斷連線,並將該帳戶從Active Directory之中移除。至於停用的信箱,只會中斷帳戶連線該信箱。

而兩者的共同之處,則是都會隱藏及標示該信箱為待移除,其預設的保留時間為30天。只要是在期限內,都可以隨時將其信箱重新連接至尚未擁有信箱的新帳戶或原有帳戶。

另一個常見的情境是,既不要停用留職停薪人員的信箱,也不要刪除他們的信箱,而只是希望他們暫時不要出現在企業通訊錄之中,這時候就可以如圖11所示參考執行以下命令參數,來將選定的人員信箱隱藏於通訊錄:

圖11  將信箱隱藏於通訊錄。

Set-Mailbox -Identity LAB04\ PeterLin -HiddenFromAddress ListsEnabled $True

若想要得知某一台Exchange Server上有哪一些被設定為隱藏的信箱,則執行以下的命令參數來完成:

Get-Mailbox -Server EX01 | FT Nam e,HiddenFromAddressListsEnabled

啟用自動轉寄功能

對於那一些留職停薪的人員信箱,若沒有要選擇停用他們的信箱,則可以改為設定自動轉寄功能,讓負責代理的人員收到所有發送給他們的電子郵件。首先,看看在「Exchange系統管理中心」的操作方法。

先到「信箱」頁面中開啟選定的信箱,然後在「信箱功能」頁面內點選「郵件流程」區域的「檢視詳細資料」超連結,開啟「傳遞選項」頁面。如圖12所示,在此勾選「啟用轉寄」功能並設定收件者信箱,若需要讓原收件者也能夠收到相同的電子郵件,則勾選「將郵件同時傳遞到轉寄地址和信箱」這一項設定。

圖12  設定傳遞選項。

關於自動轉寄功能的設定,若是透過PowerShell命令方式來進行,如圖13所示可參考以下兩個命令參數範例:

圖13  設定兩個信箱轉寄。

Set-Mailbox -Identity "PeterLin" -DeliverToMailboxAndForward $True -ForwardingSMTPAddress joviku@lab04. com  

Set-Mailbox -Identity "HRAdmin" -DeliverToMailboxAndForward $True -ForwardingAddress SandyChen

其中,使用-ForwardingSMTPAddress參數設定,可以轉寄到選定的電子郵件的地址且不一定得是Exchange組織內的信箱。此外,以上兩種命令參數的做法都會讓原信箱繼續收到信,因此如果只想讓轉寄的收件地址才能收到電子郵件,將參數-DeliverToMailboxAndForward拿掉即可。

進一步還可透過以下命令參數的執行,查詢到選定伺服器中所有信箱的自動轉寄功能設定:

Get-Mailbox -Server EX01 | FL Name ,DeliverToMailboxAndForward,Forwar dingSMTPAddress,ForwardingAddress

如果在命令中同時設定ForwardingAddress和ForwardingSMTPAddress參數,系統將會自動忽略ForwardingSMTPAddress的參數設定。

恢復已停用的信箱

當人員信箱被停用之後,原有的網域帳戶便與此信箱中斷連接,這時候Exchange管理人員可以選擇讓此信箱恢復與原帳戶的連接關係,或是讓此信箱與其他人員的帳戶進行連接,例如讓被停用的PeterLin信箱給新進的人員BillWang進行連接。

如何重新連接停用的信箱呢?首先,在「Exchange系統管理中心」網站的「信箱」頁面中,點選選項中的「連線信箱」。執行之後,在「連接信箱」頁面中點選「連線」圖示,如圖14所示。

圖14  連接已停用信箱。

緊接著,在「資訊」頁面中,可以選擇「是」來連接原來的網域帳戶,或是點選「不」來選擇連接其他使用者帳戶,如圖15所示。

圖15  選擇連接設定。

無論選擇哪一個設定,一旦成功連接之後,相對的帳戶將能夠直接存取到該信箱,而該信箱也不會再出現於已停用的信箱清單中。

另外,也可以透過命令的執行來完成與中斷信箱的連接。如圖16所示,執行以下的命令參數便是讓已中斷的「PeterLin」信箱,恢復給原來的「林彼德」帳戶進行連接:

圖16  連接已停用信箱。

Connect-Mailbox -Identity "林彼德" -Database PFDB01 -User "PeterLin"

恢復信箱的連接後,可以進一步執行「Get-User PeterLin」命令來查看連接的狀態,只要「Name」欄位出現信箱的名稱,就表示連接成功。

重置人員信箱密碼

密碼原則是一項讓IT人員又愛又恨的功能,因為如果密碼複雜度要求太過簡單,會造成資訊安全的問題,像筆者就有一位企業客戶過去就是因為如此,導致Mail Server成為了駭客發送爆量垃圾郵件的跳板。然而,如果密碼複雜度要求太過嚴苛,則會發生廣大用戶們經常忘記密碼的窘境,而須頻繁地求助IT人員。

為此,需要學習如何在Exchange Server管理中,幫忙選定用戶重置密碼的幾種方法。首先,第一種肯定是直接從「Active Directory使用者和電腦」介面中,透過修改選定使用者的屬性來解決,不過這也得兼具Active Directory管理員的權限才行得通。

如果只是Exchange Server的管理員,那麼就必須學習在Exchange管理下的解決方案。開始之前,如圖17所示必須在PowerShell命令中先執行以下三道命令來確保後續的操作不會出現錯誤:

圖17  解決管理員角色設定失敗問題。

Add-pssnapin microsoft* Install-CannedRbacRoles Install-CannedRbacRoleAssignments

接著,在「權限」→「管理員角色」頁面中,開啟「Organization Management」編輯設定頁面,並按下〔新增〕按鈕。將開啟「選取角色」頁面,如圖18所示,先選取「Reset Password」角色,接著按下〔新增〕按鈕,再按下〔確定〕按鈕。

圖18  設定管理員角色權限。

確定所屬的管理員角色擁有「Reset Password」權限後,便可以如圖19所示透過以下的命令參數來設定一組新的暫時密碼,並將此密碼設定給選定的帳戶(例如PeterLin),以及強制設定他必須在下次登入時變更密碼:

圖19  重置選定帳戶密碼。

$password = Read-Host "Enter password" -AsSecureString

Set-Mailbox PeterLin -Password $password -ResetPasswordOnNext Logon $True

幫用戶完成密碼的重置後,該用戶下次以的OWA或Outlook登入時,便會出現變更密碼的提示頁面,如圖20所示。在完成目前的密碼以及兩次新密碼的輸入後,便可以完成新密碼的設定以及登入操作。

圖20  用戶登入OWA。

幫用戶配置收件匣規則

許多Outlook用戶都知道建立郵件規則,讓不同的重要郵件可以自動歸類到選定的資料夾。而且筆者還曾經遇過有Outlook用戶建立了爆量的郵件規則,以至於無法繼續新增郵件規則,除非他先刪除掉一些郵件規則。究竟郵件規則空間的配額有多大呢?可能會有一些IT人員誤以為它與信箱的配額是一體的,但實際上卻是分開配置的。

其實它的有效值是32KB到256KB,如果一開始部署的Exchange Server已是2019版本,而非是採用舊版升級移轉的方式來部署,那麼所有用戶信箱的郵件規則配額預設都會是256KB。

至於較舊以前的版本,通常會是低於256KB的設定。值得注意的是,信箱中所有已停用的規則數目,並沒有在此限制中。想要查詢目前選定用戶(例如JoviKu)的郵件規則配額,可以執行「Get-Mailbox JoviKu | Select RulesQuota」命令參數。如果是要修改選定用戶的郵件規則配額,可參考「Set-Mailbox JoviKu -RulesQuota 256KB」命令參數。

只要Outlook沒有出現郵件規則空間已滿的提示訊息,即表示用戶仍可繼續新增更多的郵件規則設定。如圖21所示,在「規則及通知」頁面中,用戶可以自行修改、複製以及刪除所有新增過的規則設定,並且能夠在必要的時候立即執行任一選定的規則。

圖21  設定Outlook規則及通知。

然而,並非所有的用戶都會自己去設定郵件規則,組織內難免會有一些高階主管需要IT人員協助幫他們設定好,不過協助的方式並非是在他們的電腦面前進行操作,而是直接從Exchange伺服端的操作來完成。

例如,如圖22所示可以透過執行以下的命令參數幫JoviKu這位用戶的信箱中所有在2020年12月12日以前的電子郵件,通通移至「刪除的郵件」資料夾中:

圖22  幫選定用戶新增郵件規則。

New-InboxRule -Name "移至刪除的郵件" -Mailbox JoviKu -MoveToFolder 'JoviKu:\刪除的郵件' -Received BeforeDate "12.12.2020" -Stop ProcessingRules $True

如果想知道JoviKu這位用戶的信箱究竟設定了哪一些伺服器規則,以及這些規則的啟用狀態,則可以如圖23所示執行以下的命令參數進行查詢:

圖23  查看選定用戶的郵件規則清單。

Get-InboxRule -Mailbox JoviKu | Select Name, Description,Enabled | FL

人員接收郵件的限制

對於一些非常講究資訊安全的企業來說,肯定不會讓所有人員都能夠發送或接收Internet的郵件,而是只讓真正在工作上有需要的人可以使用。在此,先以限制人員接收外部郵件的管理為例。在Exchange Server所新建立的信箱中,只要傳送連接器與接收連接器沒有特別限制,預設狀態下,人員信箱都可以接收與發送電子郵件到Internet的信箱。

如果想要讓選定的人員信箱無法接收來自組織內以外的電子郵件,在開啟「Exchange系統管理中心」網站後,點選開啟該人員信箱的編輯設定頁面,然後在「信箱功能」頁面中點選「郵件傳遞限制」區域內的「檢視詳細資料」超連結,來開啟「郵件傳遞限制」頁面。如圖24所示,在此只要將「需要驗證所有寄件者」選項勾選並按下〔確定〕按鈕,即可完成設定。

圖24  郵件傳遞限制。

同樣的管理需求,也可以如圖25所示透過以下的PowerShell命令參數來完成設定:

圖25  限制選定信箱無法接收外部郵件。

Set-Mailbox -Identity "PeterLin"  -RequireSenderAuthentication Enabled $True

若想要知道選定的人員信箱是否已經完成上述的郵件傳遞限制,則執行以下的命令參數:

Get-Mailbox -Identity "PeterLin" | FL Name,DisplayName,RequireSend erAuthenticationEnabled

若是想要查看所有人員的設定,那麼只要將其中的「-Identity "PeterLin"」參數設定拿掉即可。

在Exchange管理中,除了可以設定人員信箱的郵件傳遞限制外,也能夠針對通訊群組進行限制。只要開啟選定的通訊群組編輯設定頁面,然後在「傳遞管理」頁面中選擇「只限我組織內的寄件者」設定即可,如圖26所示。若想更進一步限制只有選定的內部人員可以寄送,則點選〔+〕新增圖示來加入允許的人員名單。設定完畢,再按下〔儲存〕按鈕。

圖26  通訊群組傳遞管理。

關於針對通訊群組的收信限制,同樣也可以如圖27所示透過以下的命令參數來完成設定,範例中限制了僅允許HRAdmin、SandyChen、JaneKu三位用戶可以發信到HR的通訊群組信箱:

圖27  限制通訊群組寄件者。

Set-DistributionGroup "HR" -Acc eptMessagesOnlyFromSendersOrMem bers HRAdmin,SandyChen,JaneKu

若想查詢針對選定的通訊群組有哪一些人員可以發信到此群組,則執行以下命令參數:

Get-DistributionGroup -Identity "HR" | Select -Expand AcceptMessage sOnlyFromSendersOrMembers | FT Name

轉換共用信箱

共用信箱是小組協同合作中相當重要的一項功能,它可以讓信箱的郵件聚焦在與這個部門或這個專案有關的內容,而且還可以讓有被授予相關權限的人員,能夠代表該共用信箱來發送郵件。舉例來說,當客戶服務信箱收到顧客申訴的電子郵件時,相關部門的人員就可以代表客戶服務信箱進行回覆,但對於大多數的人員來說可能就僅有查看電子郵件的權限。

圖28所示是對於一個名為「資訊組信箱」設定的編輯頁面,在「信箱委派」的設定中,若不是屬於「傳送為」權限的清單成員,便無法代表此共用信箱來執行發送電子郵件。

圖28  編輯共用信箱。

在沒有被授予代表發送電子郵件權限的情況下,如果用戶在Outlook中執行代表此共用信箱的電子郵件發送,便會在送出郵件的同時收到類似如圖29所示的退信通知,表示當事者沒有權限可代表指定的使用者傳送郵件。

圖29  無法代表傳送。

當某位專案人員(例如PeterLin)因離職而需要將信箱轉換成共用信箱,以便小組的成員都可以存取時,便可透過執行「Set-Mailbox -Identity PeterLin -Type Shared」命令參數來完整轉換,如圖30所示。如果想要知道在選定的Exchange Server中有哪一些共用信箱,則可執行「Get-Mailbox -Server EX01 | FL Name, IsShared」命令參數,在此範例中,凡是IsShared欄位值為Ture者即為共用信箱。

圖30  轉換成共用信箱。

開啟「Exchange系統管理中心」網站後,如圖31所示便可以在「收件者」→「共用」頁面中發現已將選定的PeterLin信箱成功轉換成共用信箱。還可以進一步開啟編輯設定頁面,配置擁有完整存取權限或代表傳送權限的成員。

圖31  成功轉換共用信箱。

自訂配額訊息通知

Exchange用戶在管理自己信箱郵件的過程中,可能偶爾會收到像是郵件無法寄送、郵件大小超過限制、信箱空間不足等訊息通知。由於這一類的訊息是由系統自動發送,因此預設採用的訊息內容可能會讓用戶難以明白。

為此,IT部門可以考慮自行定義這些訊息內容。以配額有關的訊息通知來做說明,首先是信箱配額即將達到上限前的警示訊息,如圖32所示,可以透過執行以下命令參數來設定繁體中文的信箱配額警示訊息內容,相信用戶們一旦收到此訊息通知,肯定會知道該去刪除一些舊郵件來騰出更多可用空間:

圖32  自訂配額訊息。

New-SystemMessage -QuotaMessage Type WarningMailbox -Language ZH-CHT -Text "您的信箱儲存空間即將超 過大小限制,請盡速刪除一些舊郵件並清空 垃圾桶,謝謝"

接著是信箱資料夾的數量一旦即將超過限制,可透過以下命令參數讓用戶明白必須動手刪除一些不再使用的分類資料夾:

New-SystemMessage -QuotaMessage Type WarningFolderHierarchyChildr enCount -Language ZH-CHT -Text " 目前信箱的資料夾數量即將超過限制,請刪 除一些不會使用到的資料夾,謝謝"

最後,對於公用資料夾的管理員來說,最重要的就是可用空間的管制,因此可以透過執行以下命令參數,讓相關負責的人員在收到此訊息通知之後,趕緊清理一下公用資料夾中一些過期的郵件:

New-SystemMessage -QuotaMessage Type WarningPublicFolder -Language ZH-CHT -Text "目前公用資料夾的儲存空 間即將超過大小限制,請相關管理人員盡速 刪除一些舊郵件,謝謝"

人員相片批次更新

筆者曾經一再強調要活絡一個社群網站的運行,每個人的相片更新是相當重要的,因為試想如果大多數人在此網站上都使用系統預設的相片來顯示,這個社群肯定相當冷清,因為根本沒人想要在此久留。

所以,企業IT部門應該鼓勵用戶經常到Exchange Server的OWA網站,按一下頁面右上方的圖示並如圖33所示點選「變更」超連結來更新自己的相片。值得注意的是,在整合SharePoint的環境中,SharePoint也是引用同樣的相片來源。

圖33  OWA變更相片。

關於人員顯示相片的管理,其實對於初次部署Exchange Server的組織來說,可以由人力資源部門協助提供所有人員的相片,然後再交由IT人員進行首批的大量更新,負責的IT人員只要懂得善用PowerShell的Set-UserPhoto命令即可輕鬆搞定。

先來了解一下此命令對於單一人員相片的更新方法。如圖34所示,先執行以下命令與參數來預覽一下SandyChen相片的設定:

圖34  設定單一人員相片。

Set-UserPhoto -Identity "Sandy Chen" -PictureData ([System.IO. File]::ReadAllBytes("C:\Sandy Chen.jpg")) -Preview

當確認要變更為所選定的相片後,只要接著執行「Set-UserPhoto "SandyChen" -Save」即可完成。如果要取消上一命令的設定,將參數-Save改成-Cancel即可。如果想要直接完成相片變更而不預覽,則將-Preview參數去掉,如此一來也不需要使用到-Save或-Cancel參數設定。

上述兩種做法都僅是針對單一人員更新相片,如果想要一次完成大量人員的相片更新,可以先使用Excel準備好一個users.csv的文字檔,而欄位只要分別建立username與picture即可,其中username就是人員的帳號名稱,picture則是相片檔案名稱與完整路徑。接著,把users.csv與所有人員的相片都存放至「C:\Pictures」路徑下。最後,執行以下PowerShell命令與參數便可大功告成:

Import-csv C:\Pictures\users.csv | % { Set-UserPhoto –Identity $_.username -PictureData ([System.IO.File]::ReadAll Bytes($_.picture)) -Confirm:$false}

公認網域管理

有少數的企業由於資訊安全的考量,會讓每一位用戶都擁有兩個Email地址,不過信箱通常是共用同一個而非分開,其目的只是為了讓一個用來發信一個用來收信。在這種情境下,用戶就可以在自己的Outlook中選定回覆專用的Email地址。

另一種多Email地址的使用需求,則是組織網域名稱的異動。常見的情境就是公司被併購了所以組織即將更名,此時在過渡時期新舊網域必須並存,所以每位用戶也會有兩個Email地址可以同時使用。等到所有聯絡人都已使用新Email地址來聯繫時,就可以正式刪除舊Email地址。

無論組織中需要使用兩組不同網域Email地址的原因為何,在Exchange Server運作架構下都可以辦得到。只要分別完成公認的網域以及電子郵件地址原則設定即可解決。

首先來看看公認的網域設定。先開啟「Exchange系統管理中心」網站,然後在「郵件流程」→「公認的網域」頁面中,預設只會看到一個目前正在使用的組織網域名稱(例如lab04.com)。在點選新增的圖示之後,將會開啟「新增公認的網域」頁面,如圖35所示,就可以看到以下三種網域類型:

圖35  新增公認的網域。

‧權威(Authoritative):電子郵件僅會傳送給此Exchange組織中的有效收件者。傳送給未知收件者的所有電子郵件皆會遭拒。這裡將以此選項設定為例,也就是唯一接收至已存在的Exchange信箱地址。

‧內部轉送網域(InternalRelay):電子郵件會傳送給在此Exchange組織中的收件者,或轉送至位於其他實體或邏輯位置的電子郵件伺服器。此設定表示可以把接收到的郵件再傳送至選定的其他郵件伺服器。

‧外部轉送網域(ExternalRelay):電子郵件會轉送至位於其他實體或邏輯位置的電子郵件伺服器。若要直接轉送至其他外網的郵件伺服器,可以採用此設定。

關於新增公認的網域之方法,也可以經由執行以下的PowerShell命令參數,來完成mail.lab04.com網域的新增,並且將其網域設定成權威型網域:

New-AcceptedDomain -DomainName mail.lab04.com -DomainType Aut horitative -Name mail.lab04.com

當想要查詢目前現有權威型的公認的網域清單,則如圖36所示執行以下命令:

圖36  查看權威類型公認網域。

Get-AcceptedDomain | Where{$_. DomainType -eq 'Authoritative'}

完成新增公認的網域之後,就可以設定電子郵件地址原則,以便決定新增加的Email地址要套用在哪一些用戶信箱。在「郵件流程」→「電子郵件地址原則」頁面中,預設只會看到一個目前正在使用的「Default Policy」,可以選擇修改這個預設原則或再新增原則。

如圖37所示,便是新增電子郵件地址原則的頁面。接著,點選新增電子郵件地址小圖示,除了可以設定原則的順序外,還能夠選定電子郵件地址原則的收件者類型。在此唯一勾選「擁有Exchange信箱的使用者」。然後,設定要套用此原則的用戶條件,例如設定只套用在選定的部門。

圖37  新增電子郵件地址原則。

完成上述設定後,點選「預覽套用此原則的收件者」超連結,查看即將被此原則套用的用戶清單。完成原則的新增後,系統不會立即進行套用,而是要等到回到主頁面後,在選定原則時點選「套用」超連結。如果套用的用戶超過三千位以上,最好能夠在完成此操作後,再執行「Update-EmailAddressPolicy」命令讓它立即生效。

關於新增電子郵件地址原則的方法,也可以採用以下的PowerShell命令與參數,來建立一個唯一只套用在職稱為「經理」的用戶信箱中:

New-EmailAddressPolicy -Name "經理電子郵件地址原則" -Recipient Filter "(RecipientType -eq 'User Mailbox') -and (Title -like '*經理*' ) -EnabledEmailAddress Templates "%m@mail.lab04.com" -Priority 2

結語

在國外早已有IT專業人士將Exchange Server PowerShell寫成一本書發行,由此可見,無論組織的Exchange Server架構多麼複雜,IT人員平日的維護管理,其實都只要在自己的座位上打開Windows PowerShell,就可以連線所有Exchange Server進行各項維護任務,完全不需要使用到Exchange系統管理中心的網站操作介面。只是就算是已經接觸Exchange Server十年的老手,恐怕也難以達到這樣的境界,因此善用兩者的優勢才是致勝之道。

<本文作者:顧武雄,Microsoft MVP 2004-2016、MCITP與MCTS認證專家、台灣微軟Technet、TechDays、Webcast、MVA特約資深顧問講師、VMware vExpert 2016-217、IBM Unified Communications/Notes/Domino/Connections Certified。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!