私の PC には、余分なドライブがたくさんあります。そのほとんどには、Windows と Program Files の古いコピーが含まれています。私の PC の名前は「PC」で、管理者ユーザーは「Tim」です。これらの 2 番目のドライブの所有権をユーザー「PC\Tim」に割り当て、ユーザー「PC\Tim」にドライブのフル コントロールも付与しました。その後、これらのドライブ上の Windows または Program Files フォルダーを削除しようとすると、メッセージが表示されます。
「このフォルダに変更を加えるには、PC\Tim からの許可が必要です。」
これらのフォルダの現在の所有者は「Tim (PC\Tim)」としてリストされています。これらのフォルダの有効なアクセス許可には、このユーザーがすべての権限を持っていることがリストされています。
もちろん、Microsoft コミュニティの不合理な「回答」には、「ディスク クリーンアップを使用する」(明らかに無知な回答) や「ドライブを再フォーマットするだけ」(フォーマットは問題に対処するのではなく、問題を回避します) などの回答が提示されます。
これらの古いファイルを削除する正しい手順は何ですか?
答え1
管理者権限でコマンドプロンプトを開きます。
次のコマンドを 1 つずつ実行します (「Z:\Program Files」を削除したいフォルダーに変更します)。
takeown /F "Z:\Program Files" /A /R /D Y icacls "Z:\Program Files" /T /grant administrators:F rd /s /q "Z:\Program Files"
注 1 - OS 言語:takeown ... /D Y
入力 Y は「はい」を意味し、OS 言語によって異なります。Program Files フォルダーと管理者の名前も異なる場合があります。
注2 - 古いバージョンのWindows:icacls
と がrd
サポートされていない場合は、代わりにcacls
と を使用してください。rmdir
説明とドキュメント:
問題は、適切な権限を持っていないことが考えられます。 任意アクセス制御リスト (DACL)フォルダーとそのコンテンツに対して。DACL は、セキュリティ保護可能なオブジェクトへのアクセスを許可または拒否されるトラスティを識別します。したがって、フォルダーに所有権を与えるだけでは不十分な場合があり、DACL で権限を付与する必要もあります。上記の例に示すように、icacls コマンドを使用して権限を付与できます。アクセス制御リストとDACLの説明
所有する ドキュメントの取得 管理者は、管理者グループを所有者にすることで、以前に拒否されたディレクトリとそのコンテンツへのアクセスを回復します。/F [ディレクトリ]どのディレクトリを指定するか、/あ管理者グループに所有権を与える、/Rディレクトリ、すべてのファイル、サブディレクトリに対して再帰操作として実行します。/Dユーザーが「フォルダ一覧」権限を持っていない場合、次の確認プロンプトを抑制します。はいディレクトリの所有権を取得するオプション。(注: Y オプションは OS の言語によって異なる場合があります)。
イカ icacls ドキュメント 管理者グループにディレクトリへのフルアクセス DAC 権限を付与します。[ディレクトリ]どのディレクトリを指定するか、/Tディレクトリとサブディレクトリ内の指定されたすべてのファイルに対して操作を実行します。/付与指定されたユーザーへのアクセス権を付与する:Fフルアクセスが付与されます。(注: グループ名管理者は OS の言語によって異なる場合があります)
rd rd ドキュメント ディレクトリとそのすべてのサブディレクトリおよびファイルを削除します。/秒指定されたディレクトリとそのサブディレクトリをすべてのファイルを含めて削除します。/ 質問確認のプロンプトが表示されないように、静かなモードを指定します。[ディレクトリ]削除するディレクトリを指定します。
答え2
私にとって効果があったのは、この提案:
- フォルダ名
Windows
をWindows.old
- スタートメニューからディスククリーンアップを実行する
Windows.old
フォルダを含むドライブを選択します- 前の「Windows インストール」を選択し、[OK] をクリックします。
答え3
注: 考えてみると、ステップ 4 から開始できるはずです。アクセスするには、「権限の変更」ボタンを押すだけです。テストしたいのですが、削除するディレクトリがありません。
Windows 10 の場合 (おそらく Windows 7 および 8 でも動作します):
- フォルダーを右クリック -> プロパティ -> セキュリティ -> 詳細設定。
- 所有者の横にある [変更] をクリックします (上部)。ボックスにユーザー名を入力し、[名前の確認] をクリックします。(MACHINENAME\USERNAME 形式に変換されるはずです。)
- 「OK」、「OK」、「OK」を押してセキュリティ オプションを終了します。
これでディレクトリの所有者になったはずです。
- フォルダを右クリック -> プロパティ -> セキュリティ -> 詳細設定。(再度)
- 権限リストで「ユーザー」を見つけます。それをクリックして編集を選択し、フルコントロールを選択します。
- 下部にある「すべての子のアクセス許可エントリを置き換える...」をチェックします。
- [OK] をクリックし、警告ボックスで [はい] を選択します。コンピューターが新しい権限を適用するまで待ちます。
これで、ファイルを削除するために必要な権限が付与されます。削除してください。(Program Files フォルダーと Windows.old の両方でテスト済み。)
答え4
Program Files の名前を Windows.old に変更し、ディスク クリーンを実行してシステム ファイルを消去するだけです。同じトリックは、削除できないフォルダーにも有効です。