今天解決了一塊兒因爲Active Directory服務器時間不對致使Exchange Server 2016 Shell沒法使用的故障,下面介紹一下故障狀況及解決過程。在這個故障中,涉及到的服務器一共有3臺計算機:一臺Active Directory的服務器,一臺Exchange Server 2016郵箱服務器、一臺邊緣傳輸服務器。這幾臺都是ESXi中的虛擬機,服務器操做系統都是Windows Server 2016 Datacenter,如圖1所示。shell
圖1 實驗拓撲服務器
安裝Exchange Server 2016的計算機是一臺從模板新部署的虛擬機,加入到172.20.8的Active Directory,是一臺成員服務器。在172.20.1.16安裝郵箱服務,在172.20.1.12安裝邊緣服務器都很是順利,沒有出錯。安裝完成後,進入Exchange管理中心都正常。接下來是在邊緣服務器導出邊緣訂閱文件而後在郵箱服務器導入邊緣訂閱文件,這一步就出了問題。ide
在邊緣傳輸服務器(圖1中IP地址爲172.20.1.14的計算機)建立並導出邊緣訂閱文件以後,準備在郵箱服務器導入邊緣訂閱文件,在進入Exchange Shell時,出現「Exchange出現‘WinRM沒法處理該請求,由於輸入XML包含講法錯誤’等提示」,如圖2所示。操作系統
圖2 沒法鏈接到遠程服務器server
由於提示中提示「WinRM沒法處理該請求」,之前處理過該類故障,是WinRM IIS擴展沒有安裝。打開服務器管理器添加WinRM IIS擴展,如圖3所示。xml
圖3 安裝WinRM IIS擴展blog
但在安裝了WinRM IIS擴展以後,啓動Exchange Shell故障依舊。ip
之前我也屢次安裝Exchange Server,仍是第一次碰到這種故障。百度搜索相關故障,看到的解決方法不少,例若有的讓檢查防火牆是否啓用等,但個人這些虛擬機的防火牆都是開啓的。還有的介紹是須要卸載重裝,若是重裝還須要卸載Exchange,刪除註冊表等操做,但我認爲這是一個「小故障」,還到不了須要從新安裝的程序。ci
在嘗試了多種辦法以後,在https://social.microsoft.com/Forums/zh-CN/ea04f18a-f669-46fb-97fd-47ad4828655b/exchange-shell-winrm-xml-?forum=exchangeserverzhchs帖子中看到此問題可能與虛擬機的系統時間有關。通過檢查,發現當前ESXi平臺中,Exchange郵箱服務器、邊緣傳輸服務器、其餘虛擬機的時間都正確,只有Active Directory服務器(IP地址爲172.20.1.8)的時間不對。但調整了該虛擬機的時間以後,立刻就又改回錯誤的時間,很是執着,不管是手動調整虛擬機的時間,仍是經過NTP設置計算機的時間,該虛擬機的時間在調整爲正確的時間後,稍等一會,該計算機的時間就調整爲錯誤的時間(比當前的正確時間快14分鐘,如圖4所示)。部署
圖4 虛擬機的時間比正確時間快
通過檢查,發現了故障點,ESXi的主機時間不對,受影響的只有這臺Active Directory的虛擬機。檢查虛擬機的配置,發現該虛擬機設置爲了「同步客戶機時間與主機時間」,如圖5所示。
圖5 時間設置
首先修改ESXi主機時間爲正確時間,而後修改虛擬機配置,取消「同步客戶機時間與主機時間」,再在虛擬機中調整計算機的時間,而後從新啓動郵箱服務器,再次執行Exchange Shell,此時能夠正常使用,如圖6所示。
圖6 Exchange Shell
Exchange Shell中執行New-EdgeSubscription -FileData ([byte[]]$(Get-Content -Path "D:\EdgeSubscription.xml" -Encoding Byte -ReadCount 0)) -Site "Default-First-Site-Name"
命令導入邊緣訂閱文件,如圖7所示。以後能夠繼續Exchange的配置,這些不作介紹。
圖7 導入邊緣訂閱文件成功