HOW TO:變更 NTAuthenticationProviders Metabase 屬性
更新:2007 年 11 月
Windows SharePoint Services 2.0 僅支援 NTLM 通訊協定進行驗證。如果啟用 Kerberos 驗證,使用者可能無法存取 Visual Studio Team System Team Foundation Server 網站。若要解決這個問題,您必須將 NTAuthenticationProviders Metabase 屬性的值變更為 NTLM。
TFSAdminUtil Authentication 命令只會變更 Team Foundation Server 網站的 NTAuthenticationProviders Metabase 屬性。如果您無法存取其他 SharePoint 網站,可能要使用本主題的第二個程序,以更正所有 SharePoint 網站的通訊協定。
![]() |
---|
本主題說明如何在 Internet Information Services (IIS) 中修改 Metabase。在修改 Metabase 之前,請先確認有備份複本,以防問題發生。請視需要備份 Metabase。如需詳細資訊,請參閱 Internet Information Services Microsoft Management Console (MMC) 中的<備份和還原 Metabase>說明主題。 |
必要的使用權限
若要執行第一個程序,您必須是 Team Foundation 應用程式層伺服器上 Administrators 安全性群組的成員。若要執行第二個程序,您必須是裝載 (Host) Windows SharePoint Services 2.0 之伺服器上 Administrators 安全性群組的成員。
若要將 Team Foundation Server 所依賴網站的 NTAuthenticationProviders Metabase 屬性值變更為 NTLM
登入應用程式層伺服器。
按一下 [開始],再按一下 [執行],輸入 cmd,然後按 ENTER。
注意事項:
即使您已使用管理認證登入,還是必須開啟較高權限的命令提示字元,在執行 Windows Server 2008 的伺服器上執行此函式。若要開啟較高權限的命令提示字元,請按一下 [開始],以滑鼠右鍵按一下 [命令提示字元],再按一下 [以系統管理員身分執行]。如需詳細資訊,請參閱 Microsoft 網站 (英文)。
找到包含 TFSAdminUtil 公用程式的目錄。
根據預設,此公用程式位於 Drive:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools。
在命令提示字元中,輸入下列命令,然後按 ENTER:
TFSAdminUtil Authentication /provider NTLM
若要確認設定是否已變更,請輸入下列命令,然後按 ENTER:
TFSAdminUtil Authentication /view
若要為 SharePoint 網站重設 IIS Metabase 中的 NTAuthenticationProviders 屬性
開啟 [開始] 功能表,再按一下 [執行],輸入 cmd,然後按 ENTER。
找到包含 adsutil.vbs 檔案的目錄。
根據預設,此目錄位於 Drive:\Inetpub\Adminscripts。
輸入下列命令,擷取 NTAuthenticationProviders 屬性的目前值:
警告:
請不要複製命令再將它貼至命令提示字元。這可能導致屬性設定發生問題。為避免問題,請在命令提示字元輸入完整命令 (包括空格)。
cscript adsutil.vbs get w3svc/WebSite/root/NTAuthenticationProviders
在這個命令中,WebSite 是網站 ID 編號的預留位置。預設網站的 ID 編號為 1。
注意事項:
如果未定義 NTAuthenticationProviders 屬性,此命令會失敗。當您安裝 IIS 6.0 時,此屬性未定義,而 IIS 6.0 預設啟用 Negotiate 和 NTLM。
如果同時啟用 Kerberos 驗證 (Negotiate) 和整合式 Windows 驗證 (NTLM),此命令會傳回下列字串:
NTAuthenticationProviders : (STRING) "Negotiate,NTLM"
如果只啟用 NTLM,則此命令會傳回下列字串:
NTAuthenticationProviders : (STRING) "NTLM"
如果步驟 3 中的命令傳回包含 Negotiate 的字串,請使用下列命令停用 Kerberos 驗證:
cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "NTLM"
重複步驟 3,確認是否已移除 Negotiate。