1015 個以上のグループに属したユーザがログオンできない!あと、TechED でQA やってきました♪

皆さんこんにちは。毎日東京は晴れたと思って油断するとスコールとしか思えない激しい雨にブチあたって三善英史をどうしても彷彿としてしまう今日この頃です。
これ、「ゲリラ雷雨」というらしいですね。その言葉からはチェ・ゲバラしか思い浮かびませんが皆さんいかがでしょうか。

金曜は Tech・Ed に行って参りました。サポート技術者コーナー(だったような)の担当になりましたので、一日座って皆様をお待ちしておりました。(会場でお会いできた皆様、ありがとうございました!お会いできてとっても嬉しかったです♪)
そのため山崎さんの ILM2 のセッションは聞くことができませんでしたが、ひろと君が行ってきてくれました。

さて、今日の御題ですが、先日 「VBScript で ADSI を使用し Active Directory 上のユーザの所属するグループの一覧の取得を行う方法。ただし 5000 件以上かつプライマリ グループも取りたい!」 という非常にアグレッシブなシナリオについて記事を書いたのですが、一点注意事項がありましたのでお知らせしたいと思います。
https://blogs.technet.com/jpilmblg/archive/2008/08/22/vbscript-adsi-active-directory-5000.aspx

実は、1015 個以上のグループのメンバであるユーザーは、ログオン認証に失敗することがあるんです。
だから、実質 5000 個ものグループに激しく Join しているかたはそうそういないとは思いますが、(恐らくコードカバレッジのテストシナリオくらいでしかお目にかからないのではないかと思います)ご注意ください。
ちなみにサポート技術情報(よく、Knowledge Base = "KB" と言います)のタイトルはそのものズバリですが、これは機械翻訳なのでそのうち変わるかもしれません。現題をおさえといたほうがいいでしょう。

1015以上のグループのメンバであるユーザーは、ログオン認証に失敗することがあります。
(英語題 : Users who are members of more than 1,015 groups may fail logon authentication)

https://support.microsoft.com/Default.aspx?id=328889

なお、この現象は制限事項であり、セキュリティ識別子 (SID) の制限値に起因します。
この SID の制限値に影響を与えるのはセキュリティ グループの数のみです。

[1] ネストされたグループも数に入るの?
また、ネスティングされたグループもアクセス トークンの情報に含まれますが、ネスト先のグループに含まれているセキュリティ グループの数はこれには含まれません。
ネスティングとして数えられる対象は、ユーザーが所属しているグループが所属しているグループまでとなります。

以下に例を挙げます。

例 :
-- 構成
ユーザー :
 User 1
セキュリティ グループ
 … Security Group 1
 … Security Group 2
 … Security Group 3

・User 1 … Security Group 1 に所属
・Security Group 1 … Security Group 2 に所属
・Security Group 3 … Security Group 2 に所属

⇒ この場合、ユーザーが所属するセキュリティ グループはSecurity Group 3 を除く Security Group 1 およびSecurity Group 2 の 2 つとなります。

[2] SID に影響を与えるユーザーが所属するセキュリティ グループの数を確認するには?
whoami /groups コマンドの実行結果を確認する必要があります。
このコマンドを実行すると、ユーザーが所属しているセキュリティ グループのリストを取得することが出来ますので、この数が制限値に達していなければ技術情報 328889 の現象は発生しません。

***

いかがでしたでしょうか。
最近不安定な天気ですが、サーバー環境は安定しているといいですよね。
それではまた! 

※ TechEd2008 の相談コーナーの様子です。右がひろとくんです。

 

 

-- ういこ --