如果下列一或多個條件成立,您可能必須使用其中一些方法:
- 您可以使用一個大量授權媒體和一個大量授權一般產品金鑰來安裝以下任一作業系統:
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 10
- Windows 8.1
- Windows 8
- 啟用精靈無法連線到 KMS 主電腦。
當您嘗試啟用客戶端系統時,啟用精靈會使用 DNS 來找出執行 KMS 軟體的對應電腦。 若精靈查詢 DNS,且找不到 KMS 主機電腦的 DNS 記錄,精靈將報告一個錯誤。
- 如果您無法安裝 KMS 主機或無法使用 KMS 啟用,請嘗試 將產品金鑰變更為 MAK 程式。
- 如果您必須安裝和設定 KMS 主機,請使用 將 KMS 主機設定為讓用戶端可以啟用的程序。
- 如果用戶端找不到現有的 KMS 主機,請使用下列程式來針對路由設定進行疑難解答。 這些程式會從最簡單到最複雜的排列。
將產品金鑰變更為 MAK
如果您無法安裝 KMS 主機,或基於其他原因,您無法使用 KMS 啟用,請將產品金鑰變更為 MAK。 如果您從Microsoft開發人員網路 (MSDN) 或 TechNet 下載 Windows 映射,則媒體下方所列的庫存單位 (SKU) 通常是大量授權媒體,而所提供的產品密鑰是 MAK 密鑰。
若要將產品金鑰變更為 MAK,請遵循下列步驟:
- 開啟提升權限的命令提示字元視窗。 若要這樣做,請按 Windows 標誌鍵+X,以滑鼠右鍵按兩下 [命令提示字元],然後選取 [ 以系統管理員身分執行]。 如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或提供確認。
- 在命令提示字元中,執行下列命令:
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
備註
xxxxx-xxxxx-xxxxx-xxxxx-xxxxx 占位符代表您的 MAK 產品密鑰。
將 KMS 主機設定為用戶端進行啟用
KMS 啟用需要配置一個 KMS 主機,以便客戶端可以進行啟用。 如果您的環境中未設定 KMS 主機,請使用適當的 KMS 主機金鑰來安裝並啟用一部主機。 在將網路上的電腦配置為裝載 KMS 軟體後,請發佈網域名稱系統 (DNS) 設定。
如需 KMS 主機設定程式的相關信息,請參閱 使用金鑰管理服務 啟用 和安裝和設定 VAMT。
確認與 DNS 伺服器的基本IP連線能力
使用 ping 命令驗證 DNS 伺服器的基本 IP 連線能力。 若要這樣做,請在發生錯誤的 KMS 用戶端和 KMS 主電腦上,遵循下列步驟:
- 開啟提升權限的命令提示字元視窗。
- 在命令提示字元中,執行下列命令:
ping <DNS_Server_IP_address>
備註
如果此命令的輸出不包含「回復的」片語,您必須先解決網路問題或 DNS 問題,才能使用本文中的其他程式。 如需有關如何針對 TCP/IP 問題進行疑難解答的詳細資訊,如果您無法 Ping DNS 伺服器,請參閱 TCP/IP 問題的進階疑難解答。
確認 KMS 主機的設定
檢查 KMS 主機伺服器的登錄,以判斷它是否向 DNS 註冊。 根據預設,KMS 主機伺服器會每隔 24 小時動態註冊一次 DNS SRV 記錄。
這很重要
請仔細依照本節中的步驟執行。 若未正確修改登錄,可能會發生嚴重的問題。 在修改之前,備份登錄以供還原,以免發生問題。
若要檢查此設定,請遵循下列步驟:
- 啟動註冊表編輯器。 若要這樣做,請以滑鼠右鍵按兩下 [ 開始],選取 [ 執行],輸入 regedit,然後按 Enter。
- 找出 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 子機碼(在 Windows Server 2008 和 Windows Vista 中以前被稱為 SL,而不是 SoftwareProtectionPlatform),並檢查 DisableDnsPublishing 項目的值。 此項目具有下列可能的值:
- 0 或未定義 (預設值):KMS 主機伺服器每隔 24 小時註冊一次 SRV 記錄。
- 1:KMS 主機伺服器不會自動註冊 SRV 記錄。 如果您的實作不支持動態更新,請參閱 手動建立 KMS SRV 記錄。
- 如果缺少 DisableDnsPublishing 項目,請加以建立(類型為 DWORD)。 如果可以接受動態註冊,請將值保留為未定義或設定為 0。
判斷路由問題的類型
您可以使用下列命令來判斷這是名稱解析問題或 SRV 記錄問題。
在 KMS 用戶端上,開啟提升許可權的命令提示字元視窗。
在命令提示字元中執行以下命令:
cscript \windows\system32\slmgr.vbs -skms <KMS_FQDN>:<port> cscript \windows\system32\slmgr.vbs -ato
備註
在此命令中, <KMS_FQDN> 代表 KMS 主電腦的完整功能變數名稱 (FQDN),而 <埠> 則代表 KMS 使用的 TCP 連接埠。
如果這些命令解決問題,那麼這就是一個SRV記錄問題。 您可以使用 手動將 KMS 主機指派給 KMS 用戶端 程式中記載的其中一個命令來進行疑難解答。
如果問題持續發生,請執行下列命令:
cscript \windows\system32\slmgr.vbs -skms <IP Address>:<port> cscript \windows\system32\slmgr.vbs -ato
備註
在此命令中, <IP 位址代表 KMS 主電腦的 IP 位址> ,而 <埠> 則代表 KMS 使用的 TCP 連接埠。
如果這些命令解決問題,這很可能是名稱解析問題。 如需其他疑難解答資訊,請參閱 驗證 DNS 設定 程式。
如果這些命令都無法解決問題,請檢查計算機的防火牆設定。 KMS 用戶端與 KMS 主機之間發生的任何啟用通訊,都使用 1688 TCP 連接埠。 KMS 用戶端和 KMS 主機上的防火牆必須允許透過埠 1688 進行通訊。
確認 DNS 設定
備註
除非另有說明,否則請在發生適用錯誤的 KMS 用戶端上遵循這些步驟。
- 開啟提升許可權的命令提示字元視窗
- 在命令提示字元中,執行下列命令:
IPCONFIG /all
- 從命令結果中,記下下列資訊:
- KMS 用戶端電腦的指派IP位址
- KMS 用戶端電腦使用的主要 DNS 伺服器的 IP 位址
- KMS 用戶端電腦使用之預設閘道的IP位址
- KMS 用戶端電腦使用的 DNS 後綴搜尋清單
- 確認 KMS 主機 SRV 記錄已在 DNS 中註冊。 若要這樣做,請執行下列步驟:
- 開啟提升權限的命令提示字元視窗。
- 在命令提示字元中,執行下列命令:
nslookup -type=all _vlmcs._tcp>kms.txt
- 開啟命令產生的 KMS.txt 檔案。 此檔案應該包含一個或多個條目,這些條目類似於下列條目:
_vlmcs._tcp.contoso.com SRV service location: priority = 0 weight = 0 port = 1688 svr hostname = kms-server.contoso.com
備註
在此條目中,contoso.com 代表 KMS 主機的網域。
- 確認 KMS 主機的 IP 位址、主機名、埠和網域。
- 如果這些 _vlmcs 專案存在,如果這些專案包含預期的 KMS 主機名,請移至 手動將 KMS 主機指派給 KMS 用戶端。
備註
如果 nslookup 命令找到 KMS 主機,則不表示 DNS 用戶端可以找到 KMS 主機。 如果 nslookup 命令找到 KMS 主機,但仍無法使用 KMS 主機來啟用,請檢查其他 DNS 設定,例如主要 DNS 後綴和 DNS 後綴的搜尋清單。
- 確認主要 DNS 後綴的搜尋清單包含與 KMS 主機相關聯的 DNS 網域後綴。 如果搜尋清單不包含這項資訊,請移至將 KMS 主機設定為在多個 DNS 網域中發佈的程序。
手動建立 KMS SRV 記錄
若要為使用 Microsoft DNS 伺服器的 KMS 主機手動建立 SRV 記錄,請遵循下列步驟:
- 在 DNS 伺服器上,開啟 [DNS 管理員]。 若要開啟 DNS 管理員,請選取 [ 啟動],選取 [ 系統管理工具],然後選取 [DNS]。
- 選取您必須在其中建立 SRV 資源記錄的 DNS 伺服器。
- 在主控台樹中,展開 [正向對應區域],以滑鼠右鍵按一下網域,然後選取 [其他新記錄]。
- 向下卷動清單,選取 [服務位置][SRV],然後選取 [ 建立記錄]。
- 輸入下列資訊:
- 服務: _VLMCS
- 通訊協定: _TCP
- 埠號碼: 1688
- 提供服務的主機: <KMS 主機的 FQDN>
- 完成時,請選取 [ 確定],然後選取 [ 完成]。
若要為使用 BIND 9.x 相容 DNS 伺服器的 KMS 主機手動建立 SRV 記錄,請遵循該 DNS 伺服器的指示,併為 SRV 記錄提供下列資訊:
- 名稱: _vlmcs._TCP
- 類型: SRV
- 優先順序: 0
- 重量: 0
- 埠: 1688
- 主機名: <KMS 主機的 FQDN 或 A-Name>
若要設定 BIND 9.x 相容 DNS 伺服器以支援 KMS 自動發布,請設定 DNS 伺服器以啟用來自 KMS 主機的資源記錄更新。 例如,將下列這一行新增至 Named.conf 或 Named.conf.local 中的區域定義:
allow-update { any; };
手動將 KMS 主機指派給 KMS 用戶端
根據預設,KMS 用戶端會使用自動探索程式。 根據此程式,KMS 用戶端會查詢 DNS,以取得已在客戶端成員資格區域內發佈 _vlmcs
SRV 記錄的伺服器清單。 DNS 會以隨機順序傳回 KMS 主機清單。 用戶端會挑選 KMS 主機,並嘗試在它上建立會話。 如果此嘗試正常運作,用戶端會快取 KMS 主機的名稱,並嘗試用於下一次更新嘗試。 如果會話設定失敗,用戶端會隨機挑選另一部 KMS 主機。 強烈建議您使用自動探索程式。
不過,您可以手動將 KMS 主機指派給特定的 KMS 用戶端。 若要這麼做,請執行下列步驟。
- 在 KMS 用戶端上,打開具管理員權限的命令提示字元窗口。
- 根據您的實作而定,請遵循下列步驟之一:
- 若要使用主機的 FQDN 指派 KMS 主機,請執行下列命令:
cscript \windows\system32\slmgr.vbs -skms <KMS_FQDN>:<port>
- 若要使用主機的第 4 版 IP 位址來指派 KMS 主機,請執行下列命令:
cscript \windows\system32\slmgr.vbs -skms <IPv4Address>:<port>
- 若要使用主機的第 6 版 IP 位址來指派 KMS 主機,請執行下列命令:
cscript \windows\system32\slmgr.vbs -skms <IPv6Address>:<port>
- 若要使用主機的 NETBIOS 名稱來指派 KMS 主機,請執行下列命令:
cscript \windows\system32\slmgr.vbs -skms <NETBIOSName>:<port>
- 若要還原為 KMS 客戶端上的自動偵測,請執行下列命令:
cscript \windows\system32\slmgr.vbs -ckms
備註
這些命令會使用下列佔位符:
- <KMS_FQDN>代表 KMS 主機電腦的完整網域名稱 (FQDN)
- <IPv4Address> 代表 KMS 主電腦的IP第4版位址
- <IPv6Address> 代表 KMS 主電腦的IP第6版位址
- <NETBIOSName> 代表 KMS 主電腦的 NETBIOS 名稱
- <port> 代表 KMS 使用的 TCP 連接埠。
- 若要使用主機的 FQDN 指派 KMS 主機,請執行下列命令:
設定 KMS 主機以在多個 DNS 網域中發佈
這很重要
請仔細依照本節中的步驟執行。 若未正確修改登錄,可能會發生嚴重的問題。 在修改之前,備份登錄以供還原,以免發生問題。
如 手動將 KMS 主機指派給 KMS 用戶端中所述,KMS 用戶端通常會使用自動探索程式來識別 KMS 主機。 此程式要求 _vlmcs
必須在 KMS 用戶端電腦的 DNS 區域中提供 SRV 記錄。 DNS 區域會對應至電腦的主要 DNS 後綴,或對應至下列其中一項:
- 針對已加入網域的計算機,由 DNS 系統指派的計算機網域(例如 Active Directory 網域服務 (AD DS) DNS)。
- 針對工作組計算機,由動態主機設定通訊協定 (DHCP) 指派的計算機網域。 這個網域名稱是由代碼值為 15 的選項所定義,如「RFC (Request for Comments)」2132 中所定義。
根據預設,KMS 主機會在 DNS 區域中註冊其 SRV 記錄,以對應至 KMS 主計算機的網域。 例如,假設 KMS 主機加入 contoso.com 網域。 在此案例中,KMS 主機會在 contoso.com DNS 區域中註冊其 _vlmcs
SRV 記錄。 因此,記錄會將服務識別為 _VLMCS._TCP.CONTOSO.COM
。
如果 KMS 主機和 KMS 用戶端使用不同的 DNS 區域,您必須將 KMS 主機設定為在多個 DNS 網域中自動發布其 SRV 記錄。 若要這樣做,請遵循下列步驟:
- 在 KMS 主機上,啟動註冊表編輯器。
- 找出並選取 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 子機碼(先前 為 SL ,而不是 Windows Server 2008 和 Windows Vista 中的 SoftwareProtectionPlatform )。
- 在 [ 詳細數據 ] 窗格中,以滑鼠右鍵按下空白區域,選取 [ 新增],然後選取 [多重字串值]。
- 如需新項目的名稱,請輸入 DnsDomainPublishList。
- 以滑鼠右鍵按下新的 DnsDomainPublishList 項目,然後選取 [修改]。
- 在 [ 編輯多字串 ] 對話框中,輸入 KMS 在不同的行上發佈的每個 DNS 網域後綴,然後選取 [ 確定]。
備註
針對 Windows Server 2008 R2,DnsDomainPublishList 的格式會有所不同。 如需詳細資訊,請參閱大量啟用技術參考指南。
- 使用服務系統管理工具重新啟動軟體保護服務(先前是 Windows Server 2008 和 Windows Vista 中的軟體授權服務)。 此作業會建立 SRV 記錄。
- 使用一般方法確認 KMS 用戶端可以連絡您設定的 KMS 主機。 確認 KMS 用戶端會依名稱和 IP 位址正確識別 KMS 主機。 如果其中一項驗證失敗,請調查此 DNS 用戶端解析程序問題。
- 若要清除 KMS 用戶端上先前快取的任何 KMS 主機名,請在 KMS 用戶端上開啟提升許可權的命令提示字元視窗,然後執行下列命令:
cscript C:\Windows\System32\slmgr.vbs -ckms