ラップトップのOSをWindows XPからWindows 7に更新しました。現在、コンピュータ上にはWindows XPの残りのファイルがいくつかあります。それらを削除しようとすると、次のエラーが発生します。
この動作をするには許可が必要です。
このフォルダに変更を加えるには、S-1 -....からの許可が必要です。
奇妙なことに、私はこのマシンの唯一のユーザーアカウントでログインしており、管理者権限を持っています。 UACをオフにしようとしましたが、それでもファイルを削除できません。
これらのファイルを強制的に削除する方法はありますか
アップグレードすることで、古いXPユーザーがWindows 7にうまく変換されなかった可能性があります - そのため、これらのファイルはファントムユーザーが所有しています。以下のステップに従うことができます。
ファイルの所有権を取ります。管理者としてコマンドプロンプト(cmd)を起動し、次のように入力します。
takeown /f file
takeown /f directory /r
ファイルに対する完全な権限を自分に付与します。
cacls file /G username:F
cacls directory /T /G username:F
cacls
は、ワイルドカードとディレクトリトラバーサルで使用できます。また見なさい:
CACLSを使用したコマンドラインからのセキュリティ
CACLSコマンド
より進化したVisual Basicスクリプトについては、 Xcacls.vbsを参照してNTFSアクセス許可を変更してください 。
所有権を取得するためのコマンドライン引数は、この順序である必要があります。
takeown/f <ディレクトリ> /r
/fファイル名またはディレクトリ名のパターン /r再帰
注:cacls
は現在推奨されていません。 icacls
を使用してください。
icacls <ディレクトリ>/grant <ユーザー>:f /t
fフルアクセス /t再帰
私の場合、私の特定の状況ではWindows 7の所有権を取得するだけでは不十分でした(私のWindows 7のインストールは別のマシンのSymantec Backup Execを使って行われ、フォルダはソース管理下にありました)。
さらに2つのステップを実行しなければなりませんでした。
削除したいファイルが含まれているフォルダを右クリックして「プロパティ」 - >「セキュリティ」 - >「詳細設定」 - >ユーザーを選択 - >「権限の変更」 - >「すべての子オブジェクトの権限をこのオブジェクト」
フォルダ内のファイルを一番内側からルートまで手動で削除します。フォルダが空になったら、フォルダを削除します。つまり、最初に "folder1-> folder2"がある場合は、folder2の内容を削除してから、folder2などを削除します。
他の解決策では不十分な場合は、これらのさらなるステップを試すことができます。
そのS-1-...
は、前回のインストールから残ったGUIDです。明らかにNEWSYSTEM\Administrator
はOLDSYSTEM\Administrators
グループの一部ではありません。
ドライブの所有権を取得し、変更を反映させる必要があります。それからファイルを削除できるはずです。
通常takeown
と(i)cacls
が仕事をします。
あるいは、 Unlocker を使って削除することもできます(おそらく再起動が必要です)。
または SysinternalsのPsExec を使用してSYSTEMユーザー権限を取得し、それらのファイルを削除します(これは一部のファイルで機能しますが、他のファイルでは失敗する場合があります)。 ).
しかし、そのフォルダにたくさんのファイルがある場合、takeown
権限を取得するのに長い時間がかかります(HDDの速度にもよりますが、約20分かかりました)。そのため、この場合はLiveCD/DVD/USBの方が速く、フォルダを削除するのに特権を必要としません。