根据特定域控制器对客户端进行身份验证

根据特定域控制器对客户端进行身份验证

我遇到了一个问题,即 Active Directory 帐户未运行登录脚本。脚本在一个位置运行良好,但在另一个位置却无法运行。

在事件日志中收到以下错误:

GroupPolicy-Operational event ID 7007
Periodic policy processing failed for user domain\username in 1 seconds.
EventData
        PolicyElaspedTimeInSeconds  1
        ErrorCode   1265
        PrincipalSamName    domain\username
        IsMachine   0
        IsConnectivityFailure   false



nt ID 40960 LSA (LsaSrv)
-   System
        -   Provider
            [ Name]     LsaSrv
            [ Guid]     {199FE037-2B82-40A9-82AC-E1D46C792B99}

            EventID 40960

            Version 0

            Level   3

            Task    0

            Opcode  0

            Keywords    0x8000000000000000

        -   TimeCreated
            [ SystemTime]   2015-01-13T15:03:17.679126200Z

            EventRecordID   26015

            Correlation

        -   Execution
            [ ProcessID]    896
            [ ThreadID]     4656

            Channel System

            Computer    computer.domain.com

        -   Security
            [ UserID]   S-1-5-18

-   EventData
        Target  cifs/domain
        Protocol    Kerberos
        Error   "{Buffer Too Small} The buffer is too small to contain the entry. No information has been written to the buffer. (0xc0000023)"

# for hex 0xc0000023 / decimal -1073741789 :
  STATUS_BUFFER_TOO_SMALL                                       ntstatus.h
# {Buffer Too Small}
# The buffer is too small to contain the entry. No
# information has been written to the buffer.
# 1 matches found for "0xc0000023"

The Security System detected an authentication error for the server cifs/domain.com The failure code from authentication protocol Kerberos was "{Buffer Too Small}
The buffer is too small to contain the entry. No information has been written to the buffer.
(0xc0000023)".

解决方案 http://technet.microsoft.com/en-us/library/cc733950(v=ws.10).aspx

运行 Windows 2003 域,桌面是 Windows 7,域控制器是 2008 和 2003 服务器的混合。

我们已经有 3 年多没有重启一些 2003 DC 了(这是另外的故事),这些 DC 计划退役。

为了解决登录问题,是否可以将 Windows AD 帐户验证到特定 DC 而不是默认 DC?

答案1

这实际上非常难以做到

有几种解决方法,即您可以为您的客户端创建一个新站点,并希望它们将其用作登录服务器的域控制器,或者您可以LdapSrvPriority在域控制器上设置注册表设置为要用作登录服务器的 DC 赋予最高优先级。您还可以LdapSrvWeight在域控制器上配置注册表设置为每个任务分配一个加权优先级。

请注意,编辑域控制器上的注册表设置是一项全局更改,它将应用于所有客户端,而不仅仅是您正在测试的客户端,就像将域控制器放置在新站点中也会影响所有客户端身份验证一样。

但是,正如链接文章中所述,这些设置只会让您的客户端优先选择特定的登录服务器,而不会强迫他们使用特定的登录服务器,并且针对 Windows 域进行身份验证的复杂性意味着您的客户端可能会在过程中切换登录服务器,所以您可能只是运气不好。

答案2

查看详细的 GPO 日志记录是否揭示了有关该问题的任何信息可能会很有用。可以使用以下注册表项启用它。生成的日志文件“gpsvc.log”可以在 %WINDIR%\debug\usermode 中找到。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Diagnostics]
"GPSvcDebugLevel"=dword:00030002

此外,历史上也有关于“缓冲区太小”的文章,但通常将其记录在事件 System/LsaSrv/40960 下。这些问题通常是由属于过多组的用户/计算机帐户引起的,从而导致 Kerberos 令牌大小问题。

相关内容