Windows 7のPowerShellでファイルのアクセス権を一括変更する

海上忍
2009-06-04 14:57:01
  • このエントリーをはてなブックマークに追加

 以前からWindowsで面倒を感じていた処理の1つに「ファイル/フォルダのアクセス権一括変更」がある。Admin権限は有していてもアクセス権がないという理由で、削除不能なファイルやフォルダが生じてしまうことがあり、その始末に悩まされた覚えがある。

 同じ悩みを持つユーザーが多かったのか、その後Windows Server 2003 SP2で「takeown」と「icacls」コマンドが追加された。前者はUNIXでいうところのchownに相当するコマンドで、後者はファイルのアクセス制御リスト(ACL)をCUIから制御するコマンドだ。Windows Vistaにも収録されていたので、利用経験のある向きも多いことだろう。

 早い話が、この2つのコマンドを順に実行すれば(takeown /f * /r、icacls /grant :F /t)、目的のフォルダを自在に操作できるようになる。このtakeownとicaclsコマンドは、Windows 7でも健在だ。

 新しく加わったPowerShellにも、ファイルのアクセス権を設定するコマンドレットが用意されている。「Set-Acl」がそれで、Get-Aclコマンドレットで雛型となるファイルのACLを取得し、Set-Aclで他のファイルに一律適用する、という流れが典型的な活用事例となる。

 次回は、そのSet-Aclを利用してアクセス権を一括変更する方法を考えてみよう。

  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]