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가 권한을 표시하는 방법의 예를 볼 수 있습니다.
이 문서의 다음 예제에서는 $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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn