ユーザーまたはコンピュータ名を判断できません。(この操作を完了するのに十分な記憶域がありません。 ) グループ ポリシーの処理は中止されました。とエラーが表示される

004

ドメインに所属するいくつかのコンピュータから、以下のようなエラーがかなり頻発して出るようになりました。

イベントの種類:	エラー
イベント ソース:	Userenv
イベント カテゴリ:	なし
イベント ID:	1053
日付:		2009/07/13
時刻:		20:21:52
ユーザー:		NT AUTHORITY\SYSTEM
コンピュータ:	XXXXXXXX
説明:
ユーザーまたはコンピュータ名を判断できません。(この操作を完了するのに十分な記憶域がありません。 ) グループ ポリシーの処理は中止されました。

	詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。

原因を調べてみると、どうやら最近追加したファイルサーバ用の大量のグループにユーザアカウントを所属させたのが原因らしい事が分かりました。

AD認証時に作成されるKerberosトークンに既定のバッファ長があるため、それを超えてしまうと認証が上手く通らなくなります。

Kerberosトークンのバッファ値はMaxTokenSizeというレジストリ値で設定する事が可能ですが、既定ではこのキーは存在しないため、変更する場合には追加が必要になります。
MaxTokenSizeの規定値はOSで異なり、Windows 2000の場合は8000バイトで、Windows 2000 Service Pack 2 (SP2)やMicrosoft Windows Server 2003の場合は12000バイトになっているようです。

MaxTokenSizeの変更方法

レジストリエディタを利用してこの問題を解決する場合には、以下の文字列をメモ帳に保存し、拡張子を.regに変更して実行してください。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters]
"MaxTokenSize"=dword:0000ffff

グループポリシーでこの設定を一括設定する場合には、以下の文字列をメモ帳に保存し、拡張子を.admに変更してグループポリシーに追加します。

CLASS MACHINE

CATEGORY !!KERB

                KEYNAME "SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters"
                POLICY !!MaxToken
                     VALUENAME "MaxTokenSize"
                         VALUEON NUMERIC 65535
                         VALUEOFF NUMERIC 0
                END POLICY

END CATEGORY

[strings]
KERB="Kerberos マキシマムトークンサイズの設定"
MaxToken="MaxTokenSizeを65535にする"

認証が上手く通らなくなるとWindows共有に正常にログイン出来なくなったり、ログインに失敗したり、SharePointサイトにアクセス出来なくなったり、かなりいろいろな弊害が出てくるので、同じようなエラーに悩んでいた場合には、実行してみるといいと思います。

参考リンク

ユーザーが多数のグループに所属している場合に Kerberos 認証で発生する問題の新しい解決方法

グループ ポリシーを使用して、MaxTokenSize レジストリ エントリを複数のコンピューターに追加する方法

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です