web-dev-qa-db-ja.com

Windows 7でファイルを削除する権限を取得する方法

ラップトップのOSをWindows XPからWindows 7に更新しました。現在、コンピュータ上にはWindows XPの残りのファイルがいくつかあります。それらを削除しようとすると、次のエラーが発生します。

この動作をするには許可が必要です。

このフォルダに変更を加えるには、S-1 -....からの許可が必要です。

奇妙なことに、私はこのマシンの唯一のユーザーアカウントでログインしており、管理者権限を持っています。 UACをオフにしようとしましたが、それでもファイルを削除できません。

これらのファイルを強制的に削除する方法はありますか

62
lajos

アップグレードすることで、古いXPユーザーがWindows 7にうまく変換されなかった可能性があります - そのため、これらのファイルはファントムユーザーが所有しています。以下のステップに従うことができます。

  1. ファイルの所有権を取ります。管理者としてコマンドプロンプト(cmd)を起動し、次のように入力します。

    takeown /f file
    takeown /f directory /r
    
  2. ファイルに対する完全な権限を自分に付与します。

    cacls file /G username:F
    cacls directory /T /G username:F
    

caclsは、ワイルドカードとディレクトリトラバーサルで使用できます。また見なさい:
CACLSを使用したコマンドラインからのセキュリティ
CACLSコマンド

より進化したVisual Basicスクリプトについては、 Xcacls.vbsを参​​照してNTFSアクセス許可を変更してください

83
harrymc

所有権を取得するためのコマンドライン引数は、この順序である必要があります。

 takeown/f <ディレクトリ> /r 
/fファイル名またはディレクトリ名のパターン
/r再帰

注:caclsは現在推奨されていません。 icacls を使用してください。

 icacls <ディレクトリ>/grant <ユーザー>:f /t 
 fフルアクセス
/t再帰
27
Lessan Vaezi

私の場合、私の特定の状況ではWindows 7の所有権を取得するだけでは不十分でした(私のWindows 7のインストールは別のマシンのSymantec Backup Execを使って行われ、フォルダはソース管理下にありました)。

さらに2つのステップを実行しなければなりませんでした。

  1. 削除したいファイルが含まれているフォルダを右クリックして「プロパティ」 - >「セキュリティ」 - >「詳細設定」 - >ユーザーを選択 - >「権限の変更」 - >「すべての子オブジェクトの権限をこのオブジェクト」

  2. フォルダ内のファイルを一番内側からルートまで手動で削除します。フォルダが空になったら、フォルダを削除します。つまり、最初に "folder1-> folder2"がある場合は、folder2の内容を削除してから、folder2などを削除します。

他の解決策では不十分な場合は、これらのさらなるステップを試すことができます。

4
Durden81

そのS-1-...は、前回のインストールから残ったGUIDです。明らかにNEWSYSTEM\AdministratorOLDSYSTEM\Administratorsグループの一部ではありません。

ドライブの所有権を取得し、変更を反映させる必要があります。それからファイルを削除できるはずです。

0
tsilb

通常takeown(i)caclsが仕事をします。

あるいは、 Unlocker を使って削除することもできます(おそらく再起動が必要です)。
または SysinternalsのPsExec を使用してSYSTEMユーザー権限を取得し、それらのファイルを削除します(これは一部のファイルで機能しますが、他のファイルでは失敗する場合があります)。 ).

しかし、そのフォルダにたくさんのファイルがある場合、takeown権限を取得するのに長い時間がかかります(HDDの速度にもよりますが、約20分かかりました)。そのため、この場合はLiveCD/DVD/USBの方が速く、フォルダを削除するのに特権を必要としません。

0
Jet