Windows 7에서 파일 소유자를 표시 / 변경하는 방법


14

Windoews 7 명령 프롬프트의 명령 줄에서 폴더 및 파일의 소유자를 표시하는 방법이 있습니까?

폴더 또는 파일의 소유자를 자신의 사용자 이름이 아닌 "임의"사용자로 변경할 수 있습니까?

아마도 내가 제거한 앱에서 남은 폴더 (및 파일)가 있습니다 . 폴더의 내용을 보려고하면 "관리자"로 실행하더라도 권한이 없다는 메시지가 나타납니다.

폴더 (파일)의 "소유권 획득"(이것은 성공했지만 아직 시도하지는 않았다고 가정) 할 수 있지만 소유권을 이전 소유자로 되돌려 야하는 경우 원본의 사용자 이름을 알아야합니다. 소유자에게 해당 소유권을 부여 할 수 있어야합니다.

Windows 명령 프롬프트 (또는 그렇지 않은 경우 GUI 도구)에서이 작업을 수행 할 수 있습니까?


cmd.exe를 사용하는 솔루션은 여기를 참조하십시오. wmic를 사용하여 명령 줄에서 소유권 정보 얻기
schletti2000

답변:


18

takeown 명령과 Windows GUI를 통해 명령 줄에서 소유권을 가져올 수 있습니다 .

/ q 매개 변수와 함께 DIR 을 사용하여 파일 / 폴더의 소유자를 볼 수 있습니다

Windows 탐색기 (파일 또는 폴더)에서 개체를 마우스 오른쪽 단추로 클릭하고 속성 을 선택한 다음 보안 탭으로 이동 하여 Windows GUI를 통해 소유권을보고 가져올 수 있습니다 . 온 보안 탭을 클릭 고급 버튼을하고 이후에 표시되는 고급 보안 설정 받는 대화, 탐색을 소유자 탭을 선택합니다.

파일 / 폴더의 소유권을 가져 오면 Windows는 이전 소유자를 추적하지 않으므로 이전 소유자로 되돌릴 수있는 방법이 없습니다. 또한 FAT16, FAT32, exFAT 등과 같은 이러한 확장 된 속성을 지원하지 않는 파일 시스템 유형으로 작업하는 경우 소유권 또는 파일 권한 개념이 없습니다.


5

다음 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

3

SubInACL.exe소유자를 설정할 수 있습니다. 구문은 다음과 같습니다.

SubInACL / file 파일 이름 / setowner = NewOwner

없는 경우 Microsoft에서 다운로드 할 수 있습니다 .

물론이 작업을 수행하려면 권한이 있어야합니다.


2

caclsicalcs캔 편집 권한 및 takeown소유권을 할 수 있습니다. AFAIK는 Windows 7에도 있습니다. 일반적으로을 수행 한 후에는 takeown후속 조치를 수행 cacls하거나 icalcs오브젝트에 대한 권한을 부여합니다.

Microsoft의 보안 모델은 누군가 에게 소유권을 부여 하는 것을 허용하지 않고 그것을 소유 할 있습니다. 이렇게하면 관리자 (또는 다른 권한있는 사용자)가 직접 액세스 할 수없는 파일의 소유권을 가져 오거나 액세스하거나 수정하여 원래 소유자에게 통지하지 않고 원래 소유자에게 다시 제공 할 수 없습니다.

편집 : Credit은의 사용에 대한 설명을 위해 Art 로갑니다 takeown.


1
cacls를 사용하면 파일 소유자를 변경하거나 볼 수 없습니다. takeown 을 사용 하여 그렇게 할 것입니다. 일반적으로 테이크 업을 수행 한 후에는 calcs 또는 icacls를 사용하여 객체에 대한 권한을 부여합니다.
Art

고마워, 당신은 전적으로 옳습니다. 나는 내가 그 일들을 기억하기에 너무 오랫동안 Microsoft 세계에서 벗어 났음을 보여줍니다. 그에 따라 답변을 편집하겠습니다.
David Foerster

2
나는 이것이 오래되었다는 것을 알고 있지만 icacls를 사용하여 다른 사람에게 소유자를 설정할 수 있다고 덧붙였습니다. icacls <경로> / SETOWNER <이름>이 작동합니다. 물론, 소유자가되거나 소유권을 가져야하는 능력이있는 경우 소유권을 가져 오는 시나리오를 제정 할 수 있으려면 먼저 소유자이거나 적절한 권한이 있어야합니다.
palehorse

마지막으로 확인한 경우 Windows는 이전을 수행하는 계정을 제외한 다른 계정으로 소유권을 이전하는 것을 금지합니다.
David Foerster

@DavidFoerster-이것에 따르면 : 'TrustedInstaller'를 Windows 폴더의 실행 파일 소유자로 복원 하면 작동하는 것처럼 보입니다. 아직 직접 시도하지 않았습니다.
케빈 Fegan

-1

DIRMicrosoft 세계 에서만 사용하는 경우 /Q옵션을 사용해보십시오 .

예를 들면 다음과 같습니다.

DIR *.xlsx /Q

이것은 Art의 답변과 중복됩니다.
fixer1234
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.