グループ・ポリシーによるディスク・クォータの割り当て量変更に失敗する

対象プラットフォーム

質問

Windows 2000 Server でファイルサーバを構成しています。
グループポリシーでディスククォータ機能を設定することで、ユーザのファイルの総容量を設定して、設定した容量以上は書き込めないようにしています。

最近ディスクのあき容量が少なくなってきたため、グループポリシーの設定を変更してユーザに割り当てる容量を減らしたのですが、どうも設定が反映されないようで、相変わらず以前設定した容量までは書き込みができてしまうようです。

設定を反映させるには、どのようにすればよいのでしょうか?

回答

これは、Windows 2000 Server のディスククォータ機能の仕様により発生する現象になります。

Windows 2000 Server のディスククォータ機能を有効にすると、図1のように、ディスククォータ機能を有効にした時点でそのボリュームにファイルを保持していたユーザのエントリが作成されます。その時点で存在しなかったユーザについては、ユーザがクォータ機能設定後初めて、そのボリュームにアクセスした時点で、そのユーザのエントリが作成されます。


  クォータの有効化      ------------------------> |
                                                  |
                                                  |
  user1 がボリュームにアクセス → user1 の        |
   クォータの設定は              エントリ作成     |
   最初に設定された内容              |            |
                                     |            |
                                     |            |
  クォータの設定変更    ------------------------> +
                                     |            +
                                     |            +
  user2 がボリュームにアクセス →    |   user2の  +
    クォータの設定は                 | エントリ作成
    設定変更後の内容                 |      +     +
                                     |      +     +
                                     |      +     +
                                     |      +     +

図1: クォータエントリの作成

このようにエントリはユーザ単位に作成されるため、ユーザ毎にディスクの使用量がカウントされ、警告や書き込み禁止などの処理が行なわれるようになっています。

このエントリは、ディスククォータを設定したボリューム(パーティションを含みます。以下同じ)のプロパティから「クォータ」タブを選択して、更に「クォータエントリ」ボタンを押すと現れる図2のようなウインドウで確認できます。


図2: クォータエントリ

ここでユーザ毎の設定変更や、新規エントリ作成などの操作が行なえるようになっています。

ところで、図1のように、一度このエントリが作成されてしまうと、その後グループポリシーでクォータに関する設定を変更しても、エントリに記録されたクォータ制限や警告レベルなどの数値には、変更後の数値が反映されません。

そのため、質問にあったように後からディスククォータの設定を変更しても設定が反映されないという事象が発生していまうのです。

なお、この事象はグループポリシーを使用せず、直接ボリューム(パーティション)のプロパティにある図3のクオータの設定を利用してクオータの設定を行なった場合も同様に発生します。


図3: ディスクのプロパティ内のクォータの設定

すでにエントリを作成してしまったユーザに対して新しい設定を有効にするには、個々のエントリを直接修正するか、一度エントリを削除する必要があります。

エントリを削除した場合は、次にそのユーザがボリュームにアクセスした際に新しい設定が反映されたエントリが再作成されます。ただし、エントリを削除する場合は、図2のエントリ一覧より直接削除を行なう必要がある上、一度そのユーザが所有しているファイルをすべて別のボリュームに移動させるか、所有者を別のユーザに変更する必要がありますので、実際には削除することは現実的ではない場合が多いでしょう。

このように、一度設定したディスククォータの設定を変更するのはかなり面倒です。そのため、一度設定したものを変更しないですむように充分に計画を行なってから設定を行なって下さい。

ファイルの所有者にも注意

なお、別の要因として、ディスククォータ計算の際には、あくまでファイルの所有者単位で集計が行なわれますので、ユーザAが作成したファイル(所有者はユーザA)に対してユーザBが大量の書き込みを行なった場合、そのファイルはあくまでユーザAのクォータを消費しますので、一見するとユーザBはクォータを超過して書き込みが行なえているように見えてしまう場合もあります。おかしいと思ったら、ファイルの所有者を確認してみることも併せてお勧めします。

注記・補足

  1. 本文書は、日経 Windowsプロ 2002 年 8 月号の「トラブル解決 Q&A コーナー」に掲載された「グループ・ポリシーによるディスク・クォータの割り当て量変更に失敗する」の草稿を筆者の方で HTML 化して掲載しているものです。

Copyright (C) 1998-2009 TAKAHASHI, Motonobu
Last update: 2002-12-04 23:19:19 JST
webmaster@monyo.com