シンクライアントなマシン全てのデータドライブフォーマット

背景

シンクライアントで管理している70台ほどのWindows機がある。 Cドライブは起動の度に元の状態に戻るように設定してあるのでユーザがデータを残す際はファイルサーバ上という原則で使っているが、それでは遅い場合用にローカルの一時データドライブとしてDドライブを用意している。

しかし、一時データドライブなのにみんなが中身を消してくれないので、定期的に70台全部のドライブを消去する必要がある。 たちの悪いことに、某ソフトが他ユーザが書き込み・変更できない権限でファイル・ディレクトリを作成してくれるため、管理者でも削除ができない。 なのでフォーマットして消去する。

環境はWindows 7。

課題

全マシンをGUIで操作するのは非現実的。 シンクライアントなので全マシン上で指定したコマンドを実行することはできるが、 format コマンドを実行するとプロンプトを求められ、 y などと入力する必要がある。 しかし、そんな機能は付いていないのであった。

format コマンドのオプションを調べたが、プロンプトなしに問答無用で実行することはできなかった。(少なくともWindows 7では)

解決策

diskpart コマンドを使う。

前提として、全マシンがアクセスしている共有フォルダがあるものとする。 以下のような内容のファイルを共有フォルダに作成する。 ここではDドライブを消去する例を示している。

set vol d:
list partition
format

このファイルを Z:¥diskpart_format_d_drive.txt として保存しているとすると、全マシンで以下を実行すれば良い。

cmd /c diskpart /s Z:¥diskpart_format_d_drive.txt

結論

シンクライアントを提供する会社さんはきちんとマニュアルを整備してくださいね。