微軟在近期更新了最新的預覽版Exchange Online PowerShell V2模塊,該模塊是一個針對Exchange Online管理的全新體驗。通過其連接到Office 365中的Exchange Online,可以利用管理員權限檢索數據、創建新對象、更新現有對象、刪除對象和配置Exchange聯機及其功能。
本系列將就目前Exchange Online PowerShell V2提供的新功能和新命令進行體驗性的講述。由於當前該模塊上屬於預覽階段,所以不建議在生產環境中進行使用。即使要使用也需要受限謹慎使用。
一、Exchange Online PowerShell V2較之舊版的變化
據微軟提供的介紹,Exchange Online PowerShell V2模塊包含了一組針對批量數據檢索方案進行了優化的新的命令。在安裝該模塊之後,尚未連接到Exchange Online之前,可以在該模塊中看到且只能看到新的命令。但是,一旦與Exchange Online組織連接後,可以看到所有新、舊PowerShell命令。
從觀察來看,微軟有可能將用新的命令逐步取代舊的命令,從而提高效率和用戶體驗。但根據微軟的產品開發慣例,應該不會類似於開源軟件一般,一刀切的進行替代。而是會保持長時間的向後兼容。
1、身份驗證的區別
Exchange Online PowerShell V2模塊中的命令均採用新的身份驗證方式,因此不再支持舊的基本身份驗證。從微軟的Office 365近期的部署通告上看,也在逐步計劃取消基本身份驗證。
2、對應更新的命令
目前從微軟提供的資料來看,在Exchange Online PowerShell V2中更新的命令一個有10條,分別如下:
A、連接Exchange Online命令
Connect-ExchangeOnline
對應的舊命令為:
Connect-EXOPSSession或New-PSSession
B、獲取組織中的郵箱對象和屬性
EXOMailbox
對應的舊命令為:
Get-Mailbox
C、獲取組織中現有的收件人對象
EXORecipient
對應的舊命令為:
Get-Recipient
D、獲取組織中各郵箱的客戶端訪問設置
EXOCasMailbox、
對應的舊命令為:
Get-CASMailbox
E、在組織中檢索對郵箱的權限
EXOMailboxPermission
對應的舊命令為:
Add-mailboxpermission
F、獲取組織中用戶配置的SendAs權限
EXORecipientPermission
對應的舊命令為:
Add-recipientpermission
G、獲取郵箱狀態信息,如大小、郵件數以及最後一次登錄訪問時間
EXOMailboxStatistics
對應的舊命令為:
Get-mailboxstatistics
H、檢索郵箱中的文件夾狀態信息,如大小、郵件數以及文件夾名稱、ID等
EXOMailboxFolderStatistics
對應舊命令為:
Get-mailboxfolderstatistics
I、獲取郵箱中的文件夾權限
EXOMailboxFolderPermission
對應舊命令為:
Add-mailboxfolderpermission
J、獲取用戶郵箱配置了同步的移動設備信息
EXOMobileDeviceStatistics
對應舊命令為:
MobileDeviceStatistics
上述命令,將在其後的內容中逐一進行詳細介紹,並提供體驗結果。
二、安裝Exchange Online PowerShell V2模塊
對於Exchange Online PowerShell V2模塊在使用前,需要進行單獨安裝。
1、環境需求
在進行安裝之前必須要符合如下三個要求:
操作系統為Windows 7 SP1或Windows Server 2008 R2 SP1以上版本;
僅支持在PowerShell 5.1的環境中運行,即非單獨安裝的PowerShell 6/7等版本;
如果使用遠程管理(WinRM),則WinRM需要允許基本身份驗證(默認開啟)。
2、安裝或升級PowershellGet模塊
由於需要通過最新PowershellGet模塊執行Exchange Online PowerShell V2的安裝和導入操作。所以,首先要安裝和升級PowershellGet模塊。
右擊“開始”菜單按鈕,在上下文菜單中,點擊“Windows PowerShell(管理員)”,以管理員身份模式運行PowerShell。
在PowerShell中運行命令:
Install-Module PowershellGet -Force
根據提示輸入“Y”,完成PowershellGet模塊的安裝。
如果此前,系統已經安裝了PowershellGet,需要升級到最新,可以使用如下命令進行操作:
Update-Module PowershellGet -Force
注:上述和後續相關PowerShell的模塊安裝過程,可能需要從國外微軟服務器下載數據,如遇國際鏈路不佳的情況,可能會導致安裝過程延遲或失敗。因此,建議在具有較好國際訪問鏈路的環境中進行安裝。
3、設置PowerShell執行策略
由於安全需要,PowerShell的執行策略默認不執行不受信任簽名的PowerShell腳本。若要PowerShell能夠執行從Internet下載的且為受信任發佈者簽發的腳本,需要對默認的執行策略進行修改。
通過Get-ExecutionPolicy命令獲取當前PowerShell的執行策略,如果該策略的限制度大於“RemoteSigned”策略的限制度,則使用“Set-ExecutionPolicy”將執行策略改為“RemoteSigned”。
Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned
完成上述操作後,關閉當前PowerShell窗口,在下次打開後將生效。
4、安裝並導入Exchange Online PowerShell V2模塊
以管理員身份模式運行PowerShell,執行:
Install-Module -Name ExchangeOnlineManagement
將自動從Internet下載安裝Exchange Online PowerShell V2模塊。
安裝完成後,執行:
Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
導入Exchange Online PowerShell V2模塊,並驗證和查看Exchange Online PowerShell V2模塊是否安裝導入成功,以及其版本。
三、維護Exchange Online PowerShell V2模塊
如前所述,對於Exchange Online PowerShell V2模塊,目前所處在預覽版,因此微軟會對其進行快速更新迭代的。那麼這就有可能需要進行持續更新到最新版本。當然,對於該預覽版體驗結束後,計劃後續不再使用,建議將其進行卸載。
1、更新Exchange Online PowerShell V2模塊
由上述,可知通過導入模塊後,使用Get-Module命令可以查看該模塊的版本號。如果發現與微軟發佈最新的版本不同,強烈建議更新到最新版本。
以管理員身份模式運行PowerShell,執行:
Update-Module -Name ExchangeOnlineManagement
可以自動搜索並將Exchange Online PowerShell V2更新到微軟發佈的最新版。
完成後,執行:
Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
驗證升級版本是否發生變化。
2、卸載Exchange Online PowerShell V2模塊
和PowerShell的其它模塊一樣,可以通過Uninstall-Module卸載Exchange Online PowerShell V2模塊,執行:
Uninstall-Module -Name ExchangeOnlineManagement
完成Exchange Online PowerShell V2模塊的卸載。