フォルダー/ファイルの一括所有権変更
スマホ~PC間でのフォルダー共有の前に行うこと
ドキュメント履歴: 2018-06-03 初回アップ
最初に
私の場合、パソコンは DOS以前の時代から使い続けており、現在の My Documents内のファイル/フォルダーには Windows98の時代に作成したものもある。それらのファイルを パソコンを更新するたびに 古い PCの HDDから新しい PCの HDDにコピーして使ってきたので、HDD上のファイルの所有権は雑多で現在の 私のアカウントではないものの方が多い。だから最近になってフォルダーをスマホ/タブレットと共有しようとして躓いた。パソコン外部から共有ファイル/フォルダーにアクセスしようとしても共有してあるはずが表示/更新/書き込みが出来ない。慌てて所有権を変えようとしたが、捨てるのが苦手な性格で合計ファイルサイズは数十GBもあるし、ファイルの数も半端じゃないのでとてもやってられない。
そこで Powershellを使って一括変換する方法を試してみた。結果 30分ほどかかって全フォルダー/ファイルの所有権を書き換えられた。
いつものお約束で、ここで書いたことは単に私の環境下で実験的に試した結果であって、結果の保証はもちろん思わぬ弊害がないことを保証するものではありません。情報を利用する場合は、利用者自身の適切な判断と責任で行って下さい。
内容
- ファイルの所有権を変える
- フォルダー配下の一括所有権変更
- フォルダー配下の一括アクセス権付与
- 単一フォルダ・ファイルの所有権変更方法
まず、個々のフォルダー/ファイルの所有権を変更する方法をおさらい。
Explorerを開いてターゲットのフォルダーまたはファイルの上で右クリックし、一番下の「プロパティ」を選択する。
「プロパティ」ダイアログで「セキュリティ」タブを開いて「詳細設定」をクリックする。
「ユーザまたはグループの選択」ダイアログで「選択するオプジェクト名を入力」欄にユーザ名をタイプして「名前の確認」の確認ボタンを押し、見つかったら「OK」ボタンを押す。
タイプしたユーザ名が見つからなければ「見つかりません」というダイアログが表示される。
「OK」ボタンを2度押して戻れば該当のファオルダ/ファイルの所有権が変更される。
通常、上記手順でファイル/フォルダの所有権が管理者権限のユーザ名になれば、そのユーザにはフルアクセス権が付与される。
- フォルダの所有権一括変更方法
フォルダー(配下のサブフォルダ-/ファイルを含めて)内の所有権や特定ユーザのアクセス権を一括して変更するには Windows PowerShellを使用する。
Windows PowerShellを立ち上げるには、① デスクトップの左下の Windowsボタンの右側の「Cortina」アイコン(○のアイコン)をクリックすると検索窓が表示されるので ② そこに「PowerShell」とタイプすると ③ その上の方に「Windows PowerShell」という候補が表示されるのでそれをクリックすると PowerShellが起動する。
PowerShell が立ち上がったら、以下のコマンドを入力する。
takeown /f 'D:\My Documents' /r /d Y
フォルダー名はスペースを含む場合 シングルクォーテーションかダブルクォーテーションで囲む。
/r は、サブディレクトリーまで変更するオプション、/d Y は、「変更しますか? (Y/N)」プロンプトに自動的に Y と答えるオプション。
Enterキーを押すと処理が始まり、所有権変更が成功すると
成功: ファイル (またはフォルダー): "D:\My Documents\xxx\yyy" は現在ユーザー "Desktop\User1" によって所有されています。
という結果が表示されるが、ファイル数が多いと多少の時間がかかる。
アクセス権を一括で変更するには以下のコマンドを PowerShellに対して入力する。
icacls 'D:\My Documents' /grant user1:F /t /c /q
/grant user1:F はユーザー名「user1」に対してフルアクセス権を付与するというオプション。
/t は、サブディレクトリーまで変更
/c は、エラーが出ても無視して、次のファイルの変更を行う
/l は、リンク元の方ではなくリンクファイル自体のアクセス権を変える
/q は、成功時にはメッセージを出さない
こちらもファイル数が多いとそれなりに時間がかかる。
著作権は Y.Nakajima に属します。 無断転載は禁じます。
Page Top へ
Access Counter: