Windowsでユーザーディスククォータを有効にして設定する方法

Windows の NTFS ディスク クォータについて

ディスククォータはちょっと変わった機能ですが、ユーザーがファイルを大量に保存してストレージを圧迫するのを防ぎたい場合に非常に便利です。基本的に、NTFSフォーマットのドライブで各ユーザーが使用できるディスク容量の上限を設定できます。これは、サーバーでもWindowsデスクトップでも利用できます。

NTFS クォータについて知っておくべきことは何でしょうか?まず、クォータは NTFS フォーマットされたボリューム/パーティション全体にのみ適用されます。ReFS ドライブは使用できません。また、クォータはそのパーティション上のすべてのユーザーにグローバルに適用されます。FSRM に切り替えない限り、特定のグループやフォルダを対象にすることはできません。ちなみに、Windows は各ユーザーが使用しているディスク容量を定期的にチェックしています。だいたい 1 時間ごとですが、ディスクサイズやファイル数によって異なる場合があります。また、ファイルが NTFS 圧縮されている場合でも、元のサイズがカウントされるため、少し不公平に感じることがあります。

NTFSクォータを使用する理由はいくつかあります。誰が何を使用しているかを追跡したり、誰かがクォータに達した際にアラートを受け取ったり、クォータに達した時点でそれ以上の書き込みを完全にブロックしたりすることなどです。ただし、クォータの設定はパフォーマンスに影響を与える可能性があることに注意してください。特に高負荷のサーバーでは顕著です。

Windows 10/Server 2016でNTFSディスククォータを有効にして構成する方法

特定のボリュームのディスククォータを有効にする

ユーザーの空き容量が不足していることに気づいた場合、または全員の空き容量を管理したい場合は、以下の手順をお試しください。まず、「PC」に移動し、管理したいドライブ(C:\など)を右クリックして「プロパティ」を選択します。 「クォータ」タブを開いたまま、「クォータ設定の表示」をクリックします。

クォータを有効にするには、「クォータ管理を有効にする」をチェックしてください。これはシステム全体を有効にするトグルです。どの程度厳しく制限したいかに応じて、以下のオプションを選択することもできます。

  • クォータ制限を超えるユーザーに対してディスク領域の使用を拒否します。上限に達すると、新しいファイルを保存できなくなります (ただし、設定値が低すぎると問題が発生する可能性があるので注意してください)。
  • ディスク容量を制限する– ユーザーあたりの最大サイズ (例: 1 GB) を決定します。
  • ユーザーが割り当て量を超過したときにイベントをログに記録します。イベント ビューアーで違反者を監視するのに役立ちます。
  • 警告しきい値に達したときにイベントをログに記録します。これにより、予期せぬ事態が発生することはありません。

正直なところ、ユーザーがかなりイライラする覚悟がない限り、「拒否」オプションをいきなり選択するのはお勧めしません。まずは監視して、現在の使用状況を確認し、その後で調整するのが良いでしょう。有効にしたら「適用」をクリックすると、Windowsが各ユーザーの使用量を計算し始めます。データ量が多い場合やユーザー数が多い場合は、計算に時間がかかることがあります。

しばらく経ったら、「クォータエントリ」ボタンをクリックします。すると、すべてのユーザーと現在の使用量を示す表が表示されます。任意のユーザーを右クリックしてクォータの詳細を変更したり、「ディスク使用量を制限しない」を選択してそのユーザーのクォータを無効にしたりできます。

重要: NT Service\TrustedInstallerSYSTEMなどのシステムアカウントは必ず除外してください。これらのアカウントにクォータが適用されると、Windows の動作に異常が生じる可能性があります。

現在のクォータをエクスポートして、別の場所にインポートしたいですか? 問題ありません。オプションがあります。ユーザーのクォータにカウントされているファイルを確認したいですか? ユーザーを選択し、メニューから「削除」を選択するだけで、そのユーザーのファイルの詳細を確認したり、必要に応じて所有権を取得したりできます。

クォータ制限を強制するように切り替えると(「クォータ制限を超えたユーザーにディスク領域へのアクセスを拒否する」にチェックを入れる)、ユーザーは制限に達した時点でそれ以上の保存がブロックされます。次のようなメッセージが表示されますThere is not enough space on ….xx MB is needed to copy this item. Delete or move files so you have enough space.。誰かが制限を超えた場合、WindowsはイベントビューアーにID 37のイベントを記録し、「ユーザーがクォータに達しました」という通知を送信します。

ディスククォータにグループポリシーを使用する

ドメイン環境であれば、グループポリシーを使ってクォータを管理するのが便利です。グループポリシー管理コンソールを開き、コンピューターのOUにリンクされているGPOを見つけて、以下の場所に移動します。

  • コンピューターの構成>ポリシー>管理用テンプレート>システム>ディスククォータ

ここでは、 「ディスククォータの有効化」「ディスククォータ制限の強制」といった機能をワンクリックで有効化できます。デフォルトの制限値(例えば1GB)と警告レベルを設定し、イベントログを有効にします。ただし、これはマシン上のすべてのディスクに影響し、特定のアカウントを除外することはできないため、シンプルですが細分化には限界があります。

設定後、グループ ポリシーを更新し (コマンド プロンプトでgpupdate /force )、展開するだけです。

コマンドプロンプト/PowerShellからディスククォータを管理する

コマンドラインマニアの方には、fsutil quotaコマンドがお役に立ちます。クォータのオン/オフを切り替えたり、しきい値を変更したり、現在の設定を確認したりできます。

ソフト クォータを有効にするには (使用量を監視するだけ)、次のコマンドを実行します。

fsutil quota track E:

ユーザーが制限を超えないようにクォータを強制するには、次のように入力します。

fsutil quota enforce E:

必要な場合にクォータを完全に無効にするには:

fsutil quota disable E:

使用されているスペースの量を知りたい場合は、次のコマンドを実行します。

fsutil quota query e:

誰かが行き過ぎているのではないかと疑われる場合は、次の方法で違反を確認してください。

fsutil quota violations

特定のユーザーのしきい値を微調整するには、次のようにします。

fsutil quota modify E: 2000000000 100000000 corp\aabrams (注: サイズはバイト単位なので、この例では 2 GB です。)

Windows がクォータ情報を更新する頻度を知りたいですか? 次のコマンドを実行します:

fsutil behavior query quotanotify(デフォルトでは1時間ごとです)。

PowerShellにはクォータ用の組み込みコマンドレットはありませんが、Win32_DiskQuotaクラスを使って情報を取得したり、チェックスクリプトを作成したりできます。現在のクォータをダンプする簡単なスニペットを以下に示します。

 $strCom = "." $colItems = Get-WmiObject -Class "Win32_DiskQuota" -Namespace "root\CIMV2" -ComputerName $strCom foreach ($objItem in $colItems) { Write-Host "Quota usage: " $objItem. DiskSpaceUsed Write-Host "Quota Hard Limit: " $objItem. Limit Write-Host "Drive: " $objItem. QuotaVolume Write-Host "Status: " $objItem. Status Write-Host "User: " $objItem. User Write-Host "Quota Warning Limit: " $objItem. WarningLimit }

まとめ

ディスククォータは、適切に管理すれば命綱となり得ます。特にストレージ容量が限られている場合や、複数のユーザーがいる場合はなおさらです。しかし、常に完璧というわけではありません。Windowsが追いつくまでに少し時間がかかったり、設定を何度か調整しなければならない場合もあります。それでも、一度スムーズに動作するようになってしまえば、1人のユーザーがディスクスペースを独占するのを防ぐのはずっと簡単になります。なぜそうなるのかは分かりませんが、環境によっては、プロパティでクォータを有効にして制限を設定するだけで驚くほどうまくいきます。しかし、そうでない環境では、追加の手順やグループポリシーの確認が必要になるかもしれません。

まとめ

  • このPC > ドライブのプロパティ > クォータタブでクォータを有効にします
  • 制限とログオプションを設定する – ユーザーの負担にならない限り自動拒否は避ける
  • ドメインを管理する場合は GPO を使用しますが、ユーザーの除外を指定することはできません
  • 迅速な修正のためにfsutil quotaコマンドで管理する

最後に

ディスク使用量の暴走による混乱を少しでも回避できれば幸いです。ディスククォータはシンプルですが、多少の調整が必要です。Windows のせいで時々イライラさせられることもありますが、実際に機能すると満足感があります。ドライブ管理の成功をお祈りします!