如何:更改 NTAuthenticationProviders 元数据库属性

更新:2007 年 11 月

Windows SharePoint Services 2.0 仅支持使用 NTLM 协议进行网络身份验证。如果启用 Kerberos 身份验证,则用户可能无法访问 Visual Studio Team System Team Foundation Server 的网站。若要解决此问题,必须将 NTAuthenticationProviders 元数据库属性的值更改为 NTLM。

TFSAdminUtil Authentication 命令仅针对 Team Foundation Server 的网站更改 NTAuthenticationProviders 元数据库属性。如果无法访问其他 SharePoint 站点,可能需要使用本主题中的第二个过程来针对所有 SharePoint 站点更改这一协议。

重要说明:

本主题说明如何在 Internet 信息服务 (IIS) 中修改元数据库。在修改元数据库之前,请先确认您具有一个备份副本,以防发生问题。若必要,请备份元数据库。有关更多信息,请参见 Internet 信息服务 Microsoft 管理控制台 (MMC) 中的“备份和还原元数据库”帮助主题。

必需的权限

若要执行第一个过程,您必须是 Team Foundation 的应用层服务器上 Administrators 安全组的成员。若要执行第二个过程,您必须是承载 Windows SharePoint Services 2.0 的服务器上 Administrators 安全组的成员。

针对 Team Foundation Server 所依赖的网站将 NTAuthenticationProviders 元数据库属性的值更改为 NTLM

  1. 登录到应用层服务器。

  2. 依次单击“开始”、“运行”,键入“cmd”,然后按 Enter。

    说明:

    即使您是以管理凭据登录的,也必须使用提升的权限打开命令提示符窗口,才能在运行 Windows Server 2008 的服务器上执行此功能。若要使用提升的权限打开命令提示符窗口,请单击“开始”,右击“命令提示符”,然后单击“以管理员身份运行”。有关更多信息,请参见 Microsoft 网站

  3. 找到包含 TFSAdminUtil 实用工具的目录。

    默认情况下,该实用工具位于 驱动器:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools。

  4. 在命令提示符处键入下面的命令,然后按 Enter:

    TFSAdminUtil Authentication /provider NTLM

  5. 若要验证设置是否已更改,请键入下面的命令,然后按 Enter:

    TFSAdminUtil Authentication /view

重置用于 SharePoint 站点的 IIS 元数据库的 NTAuthenticationProviders 属性

  1. 打开“开始”菜单,单击“运行”,键入“cmd”,然后按 Enter。

  2. 找到包含 adsutil.vbs 文件的目录。

    默认情况下,该目录位于 驱动器:\Inetpub\Adminscripts。

  3. 键入下面的命令来检索 NTAuthenticationProviders 属性的当前值:

    警告:

    请不要在命令提示符处复制并粘贴该命令。此操作可能会导致属性设置方面的问题。为了避免此类问题,请在命令提示符处键入完整命令(包括空格)。

    cscript adsutil.vbs get w3svc/网站/root/NTAuthenticationProviders

    在此命令中,网站 是网站 ID 号的占位符。默认网站的 ID 号是 1。

    说明:

    如果未定义 NTAuthenticationProviders 属性,该命令将失败。安装 IIS 6.0 时不定义该属性,默认情况下,IIS 6.0 启用 Negotiate 和 NTLM。

    如果 Kerberos 身份验证 (Negotiate) 和集成 Windows 身份验证 (NTLM) 都已启用,则该命令将返回下面的字符串:

    NTAuthenticationProviders - 一个以逗号分隔的字符串。

    如果只启用了 NTLM,则该命令将返回下面的字符串:

    NTAuthenticationProviders      : (STRING) "NTLM"

  4. 如果该命令在第 3 步返回的字符串包含 Negotiate,则请使用下面的命令禁用 Kerberos 身份验证:

    cscript adsutil.vbs set w3svc/网站/root/NTAuthenticationProviders "NTLM"

  5. 重复第 3 步来验证 Negotiate 是否已删除。

请参见

其他资源

Authentication 命令

解决 SharePoint 服务和技术中的配置问题

更正连接和配置过程