私のPCには追加のドライブがたくさんあります。それらのほとんどには、Windowsとプログラムファイルの古いコピーが含まれています。私のPCは「PC」と呼ばれ、私の管理ユーザーは「Tim」と呼ばれます。これらの2番目のドライブの所有権をユーザー "PC\Tim"に割り当て、ユーザー "PC\Tim"にドライブのフルコントロールを与えました。次に、これらのドライブのWindowsまたはProgram Filesフォルダーを削除しようとすると、メッセージが表示されます。
「このフォルダを変更するには、PC\Timからの許可が必要です。」
これらのフォルダの現在の所有者は、「Tim(PC\Tim)」と表示されます。これらのフォルダの有効なアクセス許可には、このユーザーがすべての権利を持っていることが示されています。
もちろん、マイクロソフトコミュニティの馬鹿げた "答え"は、 "ディスククリーンアップを使用する"(露骨に教育されていない答え)や "ドライブを再フォーマットする"(フォーマットすることで、問題に対処するのではなく、問題を回避する)ようなものを提供します。
これらの古いファイルを削除する正しい手順は何ですか?
次のコマンドを一度に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の説明
takeowntakeown documentation 管理者は、管理者グループを所有者にすることで、以前は拒否されていたディレクトリとそのコンテンツへのアクセスを回復します。 / F [ディレクトリ]はどのディレクトリを指定するか/ Aは管理者グループに所有権を与える、 / Rは、ディレクトリ、すべてのファイル、およびサブディレクトリに対して再帰的な操作として実行します。/ Dユーザーが以下の「フォルダのリスト」権限を持っていない場合、確認プロンプトを抑制します- [〜#〜] y [〜#〜]ディレクトリの所有権を取得するオプション。 (注:YオプションはOS言語によって異なる場合があります)。
icaclsicaclsドキュメント 管理者グループにディレクトリへのフルアクセスDACアクセス許可を付与します。 [directory]どのディレクトリを指定するか/ Tは、指定されたすべてのファイルに対して操作を実行しますディレクトリとサブディレクトリ、/ grant指定されたユーザーに完全なアクセス権を与える:Fでアクセス権を付与します。 (注:グループ名の管理者は、OSの言語によって異なる場合があります)
rdrd documentation ディレクトリとそのすべてのサブディレクトリおよびファイルを削除します。 / sは、指定されたディレクトリとそのすべてのファイルを含むサブディレクトリを削除します/ q確認のプロンプトを表示しないようにクワイエットモードを指定します[directory]削除するディレクトリを指定します。
私のために働いたのは、 この提案 の簡略版でした:
Windows
フォルダの名前をWindows.old
に変更しますWindows.old
フォルダを含むドライブを選択しますこれはWindows 10スペイン語で機能しました:
set del_folder=F:\Program Files
takeown /f "%del_folder%" /r /d S
icacls "%del_folder%" /grant administradores:F /T
rmdir /s /q "%del_folder%"
takeown
コマンドでは、「はい」(英語)の「Y」ではなく、スペイン語の「Sí」の末尾に「S」を使用する必要があります。
icacls
コマンドの場合、「administrators」(英語)ではなく、「administradores」(スペイン語)を使用する必要があります。
注:これについて考えたので、ステップ4から開始できるはずです。アクセスするには、「権限の変更」ボタンをクリックするだけです。テストしたいのですが、削除するディレクトリが足りません。
Windows 10の場合(おそらくWindows 7および8でも動作します):
これでディレクトリを所有する必要があります。
これで、ファイルを削除するために必要な権限が付与されました。そうする。 (Program FilesフォルダーとWindows.oldの両方でテストされています。)
プログラムファイルの名前をWindows.oldに変更し、ディスククリーンを実行してシステムファイルをクリアします。削除できないフォルダでも同じトリックが機能します。
(Windowsフォルダーの場合)可能であれば、名前をwindows.oldに変更します。次に、ディスククリーンアップを開き、ドライブを選択して[OK]をクリックします。その後、[システムファイルのクリーンアップ]をクリックすると、フォルダーが削除されます
フォルダの名前を変更できない場合は、アンロックをダウンロードして開き、フォルダを選択して[名前の変更]をクリックし、名前をWindows.oldに変更して、ディスククリーンアップを実行します。 :D