PowerShell을 사용하여 NTFS 권한 관리

Marion Paul Kenneth Mendoza 2024년2월15일
  1. PowerShell에서 Get-ACL을 사용하여 NTFS 권한 보기
  2. PowerShell에서 NTFS 권한 표시
  3. PowerShell에서 재귀적으로 파일에 대한 ACL 가져오기
PowerShell을 사용하여 NTFS 권한 관리

GUI로 NTFS 권한을 관리하는 것은 특히 많은 사용자 또는 그룹과 작업할 때 시간이 많이 걸립니다. 그러나 특정 PowerShell cmdlet은 NTFS 권한을 검색하고 할당할 수 있습니다.

이 기사에서는 Get-ACL 명령을 사용하여 NTFS 권한 관리에 대해 설명합니다.

PowerShell에서 Get-ACL을 사용하여 NTFS 권한 보기

액세스 제어 목록(또는 ACL)은 ACE(액세스 제어 항목) 목록이며 각 목록에는 트러스티를 식별하고 액세스 권한을 지정하는 ACE가 포함되어 있습니다.

보안 개체의 보안 설명자는 DACL 또는 SACL의 두 가지 유형 중 하나일 수 있습니다. DACL은 액세스가 허용되거나 거부된 사용자 및 그룹을 식별하고 SACL은 액세스를 제어합니다.

PowerShell을 사용하면 Get-ACL cmdlet을 사용하여 NTFS 권한을 빠르게 볼 수 있습니다. 다음 섹션에서는 cmdlet을 사용하여 파일 또는 폴더에 대한 NTFS 권한을 보는 방법을 알아봅니다.

PowerShell에서 NTFS 권한 표시

일반적으로 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭한 다음 보안 탭을 선택하고 고급 버튼을 클릭하여 ACL을 봅니다. 아래에서 GUI가 권한을 표시하는 방법의 예를 볼 수 있습니다.

고급 보안 설정을 사용하는 ACL

이 문서의 다음 예제에서는 $dir 변수에 대한 경로를 할당합니다.

예제 코드:

$dir = "C:\Windows\Temp"
Get-Acl -Path $dir

출력:

Path Owner                      Access
---- -----                      ------
Temp DESKTOP-7GI1260\KentMarion BUILTIN\Administrators Allow  FullControl...

그러나 -Path 매개 변수와 함께 Get-Acl 명령을 실행하면 폴더 수준에서 액세스 제어 목록만 표시 및 출력됩니다. 파일 수준에서 액세스 제어 목록을 확인하려면 어떻게 해야 합니까?

PowerShell에서 재귀적으로 파일에 대한 ACL 가져오기

PowerShell의 유리한 기능 중 하나는 파이프라인을 사용하는 것입니다. PowerShell 파이프라인은 파이프라인 연산자(|)를 사용하여 일련의 여러 명령을 결합합니다.

파이프라인 방법을 사용하여 파일 수준에서 액세스 제어 목록을 가져올 수 있습니다.

이 시나리오를 달성하려면 Get-ChildItem 명령을 사용해야 합니다. Get-ChildItem 명령은 디렉토리 내의 모든 파일과 폴더를 가져옵니다.

이전 $dir 변수를 예로 들어 보겠습니다.

예제 코드:

$dir = "C:\Windows\Temp"
Get-ChildItem $dir -Recurse | Get-Acl | Format-List | Out-File "C:\PS\output.txt"

위의 예에서 -Recurse 스위치 매개변수는 모든 파일을 반복하고 Get-Acl 명령을 수행하는 데 중요합니다. 위의 스니펫을 수행하면 Temp 폴더에 있는 모든 파일의 모든 액세스 제어 목록 권한을 얻을 수 있습니다.

특히 대상 폴더에 많은 파일이 있는 경우 Out-File 명령을 사용하여 모든 세부 정보를 하나의 텍스트 파일로 내보내는 것이 좋습니다.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn