Hatena::ブログ(Diary)

kaze-kaoruの日記

2012-01-21

windows7 一括でオーナー変更、アクセス権変更

Windows7 にて。

とあるフォルダー以下に、

大量のフォルダー、ファイルがあり、

それらの権限、オーナー設定がばらばらであったとする。


で、これを GUI でカチカチやろうとすると




許可状態をサブフォルダー継承してくれるということなので、やってみたところ、

あるファイルに対してアクセス許可されているユーザー以外のユーザーは、追加されなかった。

ex.

xyz\D001\D001_123\ に対するアクセス権を、Aユーザーだけに与えていたとする。

Bユーザーで読み書きしたい。

xyz の変更で、xyzアクセスできるユーザーに B を追加して、子供にまで継承させる設定にした。

xyz\D001\D001_123\ にも、Bユーザーが加わっているかと思いきや、加わらず。


とすると、GUI で一つ一つユーザー追加して変えろと?

GUIでの変更作業を何千もやろうとすると死ぬ。


探したら、Windows 付属の Power Shell でできるじゃないか。

所有者の一括変更は Takeown (http://technet.microsoft.com/en-us/library/cc753024%28WS.10%29.aspx )

アクセス権をユーザーに与えるには、Icacls ( http://technet.microsoft.com/en-us/library/cc753525%28WS.10%29.aspx )


Power Shell 内で

owner 変更は

 takeown /f c:\xyz /r /d Y
  • /r は、サブディレクトリーまで変更
  • /d Y は、「変更しますか? (Y/N)」プロンプトに自動的に Y と答える。

ユーザーに権限(full access)を与えるには

 icalcs c:\xyz /grant user1:F /t /c /l /q
  • /grant ユーザー名:アクセス権 で与える
  • /t は、サブディレクトリーまで変更
  • /c は、エラーが出ても無視して、次のファイルの変更を行う
  • /l は、リンクファイル自体のアクセス権を変える。リンク元の方じゃなくて
  • /q は、成功時にはメッセージを出さない。

/setowner っていうオプションもあるようで(試してない)。このオプションで所有者も変えれるなら、icalcs だけで十分ということになる。


なるほどー。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/kaze-kaoru/20120121/1327140134
リンク元