2017年11月16日 星期四

KMS Server 無法計算授權數量的原因

OK, 當採購大量微軟產品的 IT 人員應該不陌生,要讓Windows或者Office獲得啟動授權,就必須要在企業內部網路準備 KMS (Key Management Service) 伺服器,讓用戶端電腦每180天連回 KMS 主機維持授權啟用狀態。因為KMS設計上就是為了方便啟用大量電腦的軟體授權,因此有基本門檻限制,官方說明:
https://www.microsoft.com/en-us/licensing/existing-customer/FAQ-product-activation.aspx

我知道英文字很多,直接幫大家畫重點:

意思是就是內部網路必須至少要有五套Office向KMS提出啟動要求才會生效。

故事開始:
最近處理了一個有趣的 KMS Server 案例,客戶反應他們的 KMS 伺服器無法計數授權數量,對方 7pupu 的抱怨 Office 2013 都已經安裝七、八套了,KMS還沒啥麼反應!
客戶也提供了 KMS 的畫面:
明確的指出計數只有三套~客戶堅持已經裝了七八套了~

接下來的畫面也看到Error Code: 0xC004F038,Google一下這個Error Code內容,也是描述授權數量不足五個所以無法啟動,對於疑難排除沒有啥參考價值...

在傷腦筋的過程中,無意見詢問一下客戶 Office 2013 的安裝方式,客戶就說了,身為資深的IT人員,一台一台電腦慢慢安裝 Office 2013 的方式一點都不 Pro,當然是用 Ghost 映像檔方式又快又方便啦!

聽到這裡,欣爺眉頭一皺,發覺案情並不單純,立馬查詢一下,果然知道問題點在哪了。
首先,要先說明一下 KMS 是依據甚麼來判斷 Office 的啟動數量呢?當然不是Office 的安裝數量那麼單純,而是會判斷 Office 的 CMID (Client Machine ID),每一套 Office 的 CMID 都是獨一無二的,因此客戶將裝好的 Office 電腦製作成映像檔後,佈署到了七八台電腦,對於 KMS 主機來講,等於沒有發現任何 Office,因為這七八台電腦的 Office 的 CMID 都是一模一樣的!而這組 CMID 早已經被啟動了,所以這就是 KMS 無法計數啟動數量,這七八台電腦沒辦法順利啟動的原因。

首先,要怎麼確認那些電腦的 Office CMID 是重複的?可以透過命令提示列,在 Office 2013 的路徑底下(\%Program Files%\Microsoft Office\Office15),執行cscript ospp.vbs /dcmid指令查看Office的CMID。
PS: 安裝32位元的,就是在 %Program File(x86)%,OK?
PS: 如果安裝的是 Office 2016呢?那就是 Office16,OK?
像這樣:

那麼接下來,找到重複的 Office CMID 電腦,只要在命令提示列相同資料夾位置,輸入:
ospprearm.exe
畫面會出現「Microsoft Office 重設授權狀態成功」
這樣就表示CMID重設成功了,當然KMS也就可以正常計數了

當然,重要的是,習慣用映像檔來重灌電腦的 IT Pro,除了基本的 Sysprep 要做之外,記得 Office 也要重設一下 CMID 喔!

沒有留言: