EFSで暗号化されたディレクトリを探す|Laugh and grow fat

EFSで暗号化されたディレクトリを探す

Windows XPで、EFSで暗号化されたディレクトリを一旦復号化する必要がでてきたのだが、そもそもどのディレクトリが暗号化されているのかわからーん! という困った状態になった。

最初は、dirコマンドで属性に "E"(暗号化) を指定すればイイんじゃないの? と思ったが、そんな属性は指定できないらしい。
色々と調べたところ、cipherコマンドは、ディレクトリを引数に渡すと暗号化されているかどうかチェックしてくれるようだ。

ってことで、ざくっとこんな感じでRubyでスクリプト作ってみた。


#!/usr/bin/ruby

tmp_list_file = "tmp_list.txt"
tmp_result_file = "tmp_result.txt"

# create directory list in current dir
`dir /s /a:d /b > #{tmp_list_file}`

# check cipher
File::open(tmp_list_file) {|f|
while line = f.gets do
system("cipher \"#{line.chomp}\" > #{tmp_result_file}")
  File::open(tmp_result_file) {|f1|
result = f1.readlines[4].strip
puts "E #{line}" if result[0] == "E"
}
end
}

File::delete(tmp_list_file)
File::delete(tmp_result_file)

こんなスクリプトを作らなくても、もっと簡単な方法がある気がするんだけどなあ...

0 件のコメント :

コメントを投稿