【Win】 C:\Windowsの所有者を一括でAdminにして全権限を付与する方法

ResourceHacker,Windows

1

大前提として、そもそもそんなことを普通の人がする必要は無いです。そしてこれらの行為は推奨するものではありません。ResourceHacker等でOSの改造をしまくる人には便利だったりそうじゃなかったりするかも程度の内容です。興味ございましたら続きをどうぞ。

OSの改造をやっているとファイルの所有者がAdminではなく、GUI操作でファイルを一つずつ所有者を変えて、権限を付与してと面倒くさいですよね。「c:\windows」を丸ごと一括でやる方法は無いものかと検索したらありました。その呪文がこちら。

takeown /s PCの名前 /u Administrators /f c:\windows /r /d Y
icacls c:\windows /grant Administrators:F /t /c /l /q

1行目は「c:\windows」内のファイル全ての所有者をAdminにする呪文。2行目は「c:\windows」内のファイルのAdminに全権限を付与する呪文です。コマンドプロンプトから実行してどうぞ。特定のフォルダ、例えば「c:\windows\ja-JP」だけを変更したい場合は

takeown /s PCの名前 /u Administrators /f c:\windows\ja-JP /r /d Y
icacls c:\windows\ja-JP /grant Administrators:F /t /c /l /q

という風に書き換えてください。

これを実行すると概ね全てのファイルの所有者がAdminになり全権限が付与されます。概ねというところがポイント。

せっかくなので「c:\System Volume Information」や「c:\ProgramData」にも実験でやってみましたが、一部変更が出来ないものがありました。変更出来なかった理由はわかりません。変更出来なかったファイルはどれも長い名前のファイルでした。長いとダメなんすかね。

ちなみに「c:\System Volume Information」など、間にスペースが入る場合は

takeown /s PCの名前 /u Administrators /f "c:\System Volume Information" /r /d Y
icacls "c:\System Volume Information" /grant Administrators:F /t /c /l /q

と、ダブルコーテーションで囲いましょう。あ、おわりです。

重ねて申し上げますが、普通の人がする必要は無いです。一度やっちまったら、もう元には戻せません。それでも「c:\windows」を丸ごとやってみたい場合は、安全を考えて、クローンを取ったストレージ等で試して、問題が無いことを確認した上でやることを推奨します。

あと「PCの名前」はコンパネのシステムを開いたら表示される「コンピューター名」です。決して自らがパソコンに名づけた「フェニックス1号」などではありません。

参考
http://mainichiyasumi.blogspot.jp/2014/10/file-accses-command-prompt.html