powershell을 사용하여 생성된 파일 권한을 정기적으로 변경합니다.

powershell을 사용하여 생성된 파일 권한을 정기적으로 변경합니다.

나에게는 현재 스스로 알아낼 수 없는 특정한 문제가 있습니다. 우리 회사에는 사용자(다른 직원)가 파일을 만들 수 있는 공용 폴더가 있습니다. 문제는 사용자가 같은 날 해당 폴더에 파일을 생성할 수 있는 방식으로 이 폴더를 구성해야 한다는 것입니다. 매일 저녁 스크립트가 실행되어 이 폴더에 새로 생성된 모든 파일(하위 폴더의 모든 파일 포함)을 읽기 전용으로 만듭니다. . 이 공용 폴더는 Windows 10 기반 컴퓨터에 있습니다.

나는 이미 현재 폴더에서 모든 파일을 읽기 전용으로 설정할 수 있는 간단한 Powershell 스크립트를 얻었습니다.

$folderPath = 'C:\TestFolder' 
Get-ChildItem -Path $folderPath -Recurse -File | % { $_.IsReadOnly=$True }`

이 Powershell 스크립트는 관리자 계정에서 실행되며 매일 스크립트를 실행한 후에는 관리자만 폴더의 파일을 편집할 수 있지만 사용자는 더 이상 편집할 수 없음을 의미합니다. 다음 날 사용자는 새 파일을 만들 수 있지만 더 이상 현재 파일을 편집할 수 없으며 주기는 매일 반복됩니다. 새 파일은 다음 날부터 읽기 전용으로 "잠겨"집니다.

powershell에서 이러한 종류의 파일 권한을 구현하는 방법을 아는 사람이 있습니까?

이 스크립트의 알고리즘에 대한 내 생각은 다음과 같습니다.

  • 재귀적으로 모든 파일 찾기

  • 읽기 전용으로 만들기

  • 발견된 파일을 수정하려면 사용자 액세스 권한을 제거하세요.

  • 사용자에게 계속 액세스하여 새 파일을 만들고 현재 파일을 볼 수 있습니다.

    어떤 조언이라도 환영합니다!

답변1

다음과 같이 powershell을 사용하여 특정 날짜보다 오래된 파일만 지정할 수 있습니다.

Get-ChildItem -Path $folderPath -Recurse -File | 
    Where-Object CreationTime -lt (get-date).AddDays(-1) | 
    % { $_.IsReadOnly=$True }

일반적으로 소유자는 권한을 읽기/쓰기로 다시 설정할 수 있으므로 파일 소유자 속성이나 권한도 변경되었는지 확인하세요. 파일 탐색기 UI에서 확인하거나Get-Acl \\path\to\file.ext

관련 정보