Powershell을 사용하여 소유자를 재귀 적으로 변경 하시겠습니까?


9

Powershell을 사용하여 폴더 소유자를 재귀 적으로 변경하려고합니다.

나는 기본적 으로이 코드를 사용하고 있습니다 :

$acct1 = New-Object System.Security.Principal.NTAccount('DOMAIN\Enterprise Admins')
$profilefolder = Get-Item MyFolder
$acl1 = $profilefolder.GetAccessControl()
$acl1.SetOwner($acct1)
set-acl -aclobject $acl1 -path MyFolder

이렇게하면 첫 번째 수준에서 소유권이 변경되지만 하위 폴더 나 파일은 변경되지 않습니다. 범위를의 모든 내용으로 확장하는 방법이 MyFolder있습니까?

답변:


17

takeown 명령은 수행하려는 작업을 정확하게 수행합니다. 일반적인 Windows 유틸리티입니다.

이 스 니펫은 현재 사용자에게 소유권을 적용하지만 원하는 사용자로 설정할 수 있습니다.

http://technet.microsoft.com/en-us/library/cc753024(v=ws.10).aspx

takeown /f "c:\folder\subfolder" /r

문제가 발생하면 관리자 권한으로 cmd / powershell 창을 실행하고 있는지 확인하십시오. 다른 powershell 특정 답변에도 동일하게 적용됩니다.


1
이 doe는 소유자를 그룹 ( "관리자"이외)으로 설정하는 데 효과가없는 것 같습니다.
Gert van den Berg

5

Set-ACL cmdlet은 파이프에서 path 매개 변수를 사용하므로 권장되는 방법은 디렉터리의 내용을 파이프하여 각 항목에 소유자를 설정하는 것입니다.

dir -r c:\Users\goyuix\temp | set-acl -aclobject $acl1

내 프로필의 temp 디렉토리에있는 모든 폴더 / 파일의 소유자를 재귀 적으로 설정합니다.

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