我有一个用户,他有大约 900 个组(其中一些是嵌套的,所以我怀疑大约有 1000 个组),他无法登录,返回错误,指出 ID 太多。我运行了一个脚本来计算他的令牌大小,结果大约是 24K。我们已将限制设置为 64K。由于从未迁移过,因此用户在 SID 历史记录中没有任何内容。
脚本: https://gallery.technet.microsoft.com/scriptcenter/Check-for-MaxTokenSize-520e51e5
但首先它说每个用户的组数量是固定的,但然后它说如果我们将 MaxTokenSize 设置为 64K,每个用户可以拥有 1600 个域本地组。
我只是想知道,既然允许每个用户拥有的 AD 组数量是最大的,那么设置 MaxTokenSize 有什么意义呢?我想我这里漏掉了什么
答案1
如果您没有将 MaxTokenSize 设置为 64K,您将会遇到组成员较少的问题,因为默认值为 12K(Windows Server 2012 及更高版本为 48K)。我怀疑您可能使用的是早于 Windows 2012 的操作系统,因为 2012 引入了新的事件日志警告,它为具有大量组成员的帐户提供了准确的令牌大小。
如果您读过 KB327825,它指出组数和令牌大小之间没有直接关系。所需的内存量取决于组类型(通用/全局/本地)、组是否位于同一域或另一个域、域名、客户端名称以及票证是否用于委派。
您没有指定确切的组数,但您估计的数量远远超出了任何合理的设计。无论他们要做什么,都需要用更少的组来完成。