Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-件のコメント

コメントの投稿

新規
投稿した内容は管理者にだけ閲覧出来ます

-件のトラックバック

トラックバックURL
http://inakami.blog120.fc2.com/tb.php/115-b63e1ad1
この記事に対してトラックバックを送信する(FC2ブログユーザー)

マルチユーザー環境で自動的にゴミ箱を空にする

Windows に標準で付いているゴミ箱は、
削除したファイルが残るのはいいのですが、マルチユーザー環境で使っていると、ディスク領域を圧迫する原因にしかならないため、定期的に空にするようにするのが望ましいです。

1ユーザーあたりはあまり容量を取らなくとも、ゴミ箱内に溜まったファイルはユーザーごとに保存されるため、数百人単位のユーザーが使っている場合は、数年単位で放置されたPCでは、数GB?数十GBにもなり、いつしかHDDの空き容量が無くなってログオン不能になったりします。


ゴミ箱に捨てられたファイルの行き場


ゴミ箱内のファイルは各ドライブごとに保存され、

Windows Server 2003 / XP以前のNT系では

<Drive_Letter>:\RECYCLER\S-x-x-xx-xxxxxxxx-xxxxxxxx-xxx


Windows Vista以降では、

<Drive_Letter>:\$RECYCLE.BIN\S-x-x-xx-xxxxxxxx-xxxxxxxx-xxx



というフォルダに保存されます。
以降はRECYCLERで説明しているため、Vista以降の場合は読み替えてください。
S-x-x-xx-xxxxxxxx-xxxxxxxx-xxxという名前は、ユーザー固有のSIDで、OSのインストール時とユーザーの作成時にランダムで作られるため、他のシステムとは重複しないようになっています。


ゴミ箱

ゴミ箱のファイルを自動的に削除する


作成されたファイルを手動で削除してもいいのですが、それだと個別に削除していかなければならないので何かと面倒です。

del_recycler.cmdという空のテキストファイルを作り、

rd /s /q "<Drive_Letter>:\RECYCLER"
md "<Drive_Letter>:\RECYCLER"
attrib +s +h "<Drive_Letter>:\RECYCLER"


と入力して保存します。
複数のドライブに対して行いたい場合は、上をコピーして複数のドライブに実行するようにします。

RECYCLERフォルダにACL等を個別に設定していて毎回削除しては困る場合は、forコマンドを使うことになりますが、少々面倒です。

forコマンドでは、隠しフォルダはスキップされるため、隠し・システム属性を解除してから、forコマンドで削除します。

attrib -s -h "<Drive_Letter>:\RECYCLER\*" /s /d
for /d %%a in (<Drive_Letter>:\RECYCLER\*) do rd /s /q "%%a"


削除を実行するタイミング


当然ですが、ユーザーがログオンしていない時に行うのが好ましいので、
起動時かシャットダウン時に行うことになります。

  • グループポリシーのスタートアップスクリプト
  • グループポリシーのシャットダウンスクリプト
  • タスクスケジューラによる実行
  • システムサービスによる実行


グループポリシーのスタートアップスクリプト・シャットダウンスクリプト

処理内容的にはこれでやることが想定されていると思います。
ただし、Home系(XP Home Edition, Vista HomeBasic, Home Premium)のOSでは利用できません。

ファイル名を指定して実行から、gpedit.mscを起動して、

[コンピュータの構成]-[Windowsの設定]-[スクリプト]-[スタートアップ]または[シャットダウン]

から、上のcmdを実行するように構成します。

script_01.png


しかし、Windows XPは高速ログオン最適化機能により、スタートアップスクリプトが実行される前にエクスプローラが動き出す場合があるため、高速ログオン最適化機能を無効にするのでなければ、シャットダウンスクリプトから実行する方が無難。

タスクスケジューラ

scheduler_01.png

[コントロールパネル]-[タスク]を開き、新しいタスクを作成して、
実行するファイル名に、上のcmdを指定します。
ユーザー名は管理者権限のあるユーザーか、
SYSTEM
と入力しておきます。

スケジュールタブから、タスクのスケジュールをシステム起動時に変更します。

ただし、この方法でも高速ログオン最適化機能との兼ね合いで、エクスプローラが起動した後に実行されるため高速ログオン最適化機能を無効にするか、シャットダウンスクリプトを使用する方が無難です。

システムサービスによる実行

リソースキットに含まれる、
srvany.exe
を使って、サービスとして上のcmdを起動するようにします。
サービスの場合は、exeを指定しなければならないので、
cmd.exe /c "<path_to_cmd_file>\del_recycler.cmd"
と指定します。

この場合も高速ログオン最適化機能との兼ね合いでタスクスケジューラの場合と同様です。


0件のコメント

コメントの投稿

新規
投稿した内容は管理者にだけ閲覧出来ます

0件のトラックバック

トラックバックURL
http://inakami.blog120.fc2.com/tb.php/115-b63e1ad1
この記事に対してトラックバックを送信する(FC2ブログユーザー)

Appendix

プロフィール


Author:いなかみ

主にMicrosoft製品、自作PC、デジタルアイテム等の雑記帳という名の中の人のメモ帳。たまに思っていることをぼそっとつぶやくエントリもあります。

かうんた

最近の記事

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。