問題が発見され、解決されました。
問題は、管理者が多くの AD グループのメンバーであることにあります。
ソリューション:
- レジストリ編集を開く
- 「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters」を参照します
- MaxTokenSize という名前の新しい DWORD を作成します
- 値のデータを 65535 (10 進数) に設定します。
- regedit を閉じてサーバーを再起動します
原因:
認証の試行中に生成される Kerberos トークンの最大サイズが固定されているため、ユーザーを認証できません。リモート プロシージャ コール (RPC) や HTTP などのトランスポートは、認証用のバッファーを割り当てるときに MaxTokenSize 値に依存します。Windows 2000 (オリジナル リリース バージョン) では、MaxTokenSize 値は 8,000 バイトです。Windows 2000 Service Pack 2 (SP2) および Windows Server 2003 では、MaxTokenSize 値は 12,000 バイトです。
Kerberos は、Kerberos パケットの Privilege Attribute Certificate (PAC) フィールドを使用して、Active Directory グループ メンバーシップを転送します。Windows Server 2012 以降、これは Active Directory クレーム情報 (動的アクセス制御) フィールドにも適用されます。ユーザーに多くのグループ メンバーシップがあり、ユーザーまたは使用されているデバイスに多くのクレームがある場合、これらのフィールドはパケット内で多くのスペースを占有する可能性があります。
ユーザーが 120 を超えるグループのメンバーである場合、MaxTokenSize 値によって決定されるバッファーは十分な大きさではありません。したがって、ユーザーは認証できず、"メモリ不足" というエラー メッセージが表示される場合があります。この資料に記載されている修正プログラムを適用する前に、ユーザー アカウントに追加されたグループごとに、このバッファーが 40 バイト増加します。