web-dev-qa-db-ja.com

Windows 7でファイルの所有者を表示/変更する方法

Windoews 7コマンドプロンプトのコマンドラインからフォルダーとファイルの所有者を表示する方法はありますか?

フォルダまたはファイルの所有者を、自分のユーザー名ではない「任意の」ユーザーに変更できますか?

削除したアプリからおそらくが残っているフォルダー(およびファイル)がいくつかあります。 「管理者」として実行している場合でも、フォルダーの内容を表示しようとすると、表示する権限がないと言われました。

フォルダ(ファイル)の「所有権を取得」することはできます(これは成功するが、まだ試していません)が、所有権を以前の所有者に戻す必要がある場合は、元のユーザー名を知る必要があります所有者、そしてそのユーザーに「所有権を与える」ことができる必要があります。

Windowsのコマンドプロンプトから(またはできない場合は、GUIツールから)これを行うことはできますか?

14
Kevin Fegan

takeown コマンドとWindows GUIを使用して、コマンドラインから所有権を取得できます。

[〜#〜] dir [〜#〜] と/ qパラメータを使用すると、ファイル/フォルダの所有者を表示できます

Windows GUIを介して所有権を表示(および取得)するには、Windowsエクスプローラー(ファイルまたはフォルダー)でオブジェクトを右クリックし、Propertiesを選択して、次に移動します。 セキュリティタブ。 セキュリティタブで、詳細ボタンをクリックし、続いて表示される詳細なセキュリティ設定ダイアログで、所有者タブに移動します。

ファイル/フォルダーの所有権を取得すると、Windowsは以前の所有者を追跡しないため、以前の所有者に戻す方法はありません。また、FAT16、FAT32、exFATなどの拡張属性をサポートしていないファイルシステムタイプを使用している場合、所有権やファイルアクセス許可の概念はありません。

18
Art

wmicを使用して、次のような所有権情報を照会できます。

wmic path Win32_LogicalFileSecuritySetting where Path="C:\\windows\\winsxs" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID

この例のディレクトリのように、所有権情報がクリップされる可能性があるため、dirを使用しないでください。

DOMAIN\USERでフォーマットされた出力を取得するには、次のバッチスクリプトを使用できます。

@ECHO OFF
SETLOCAL EnableDelayedExpansion
REM Escpe the backslash with \\
SET ESCAPED=%~f1
SET ESCAPED=!ESCAPED:\=\\!

wmic path Win32_LogicalFileSecuritySetting where Path="!ESCAPED!" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID > "%temp%\wmi.tmp"

for /F "skip=2 delims=€" %%G in ('type %temp%\wmi.tmp') do (call     :process_wmioutput "%%G")
goto :continue
:process_wmioutput
SET UNDELIMITED=%1
SET DELIMITED=!UNDELIMITED:  =€!
FOR /F "delims=€ tokens=10,12" %%G in ("!DELIMITED!") DO (ECHO %%H\%%G)
exit /B

:continue
5
schletti2000

SubInACL.exeを使用すると、所有者を設定できます。構文は次のようになります。

SubInACL /ファイル ファイル名/setowner =新しい所有者

お持ちでない場合は、 Microsoftからダウンロード してください。

もちろん、これを行うには権利が必要です。

3
Itsme2003

cacls および icalcs は権限を編集でき、 takeown は所有権を取得できます。 AFAIKそれらはWindows 7にも存在します。通常、 takeown を実行したら、 cacls または icalcs 自分にオブジェクトへのアクセス許可を付与します。

Microsoftのセキュリティモデルでは、誰かに所有権を与えることは許可されず、を取ることだけが許可されます それ。これにより、管理者(または特権ユーザー)は、自分が直接アクセスできないファイルの所有権を取得したり、ファイルにアクセスまたは変更したり、元の所有者に通知することなく元の所有者に戻したりすることができなくなります。

編集: takeown の使用の説明については、クレジットが Art に送られます。

2
David Foerster