다음을 통해 공유


Get-Acl

파일 또는 레지스트리 키와 같은 리소스에 대한 보안 설명자를 가져옵니다.

구문

Get-Acl
   [[-Path] <String[]>]
   [-Audit]
   [-AllCentralAccessPolicies]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-Acl
   -InputObject <PSObject>
   [-Audit]
   [-AllCentralAccessPolicies]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-Acl
   [-LiteralPath <String[]>]
   [-Audit]
   [-AllCentralAccessPolicies]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-UseTransaction]
   [<CommonParameters>]

Description

Get-Acl cmdlet은 파일 또는 리소스의 보안 설명자를 나타내는 개체를 가져옵니다. 보안 설명자에는 리소스의 ACL(액세스 제어 목록)이 포함됩니다. ACL은 사용자 및 사용자 그룹이 리소스에 액세스해야 하는 권한을 지정합니다.

Windows PowerShell 3.0부터 Get-AclInputObject 매개 변수를 사용하여 경로가 없는 개체의 보안 설명자를 가져올 수 있습니다.

예제

예제 1

Get-Acl C:\Windows

이 명령은 C:Windows 디렉터리의 보안 설명자를 가져옵니다.

예제 2

Get-Acl C:\Windows\k*.log | Format-List -Property PSPath, Sddl

이 명령은 이름이 "k"로 시작하는 C:\Windows 디렉터리의 모든 .log 파일에 대한 Windows PowerShell 경로 및 SDDL을 가져옵니다.

이 명령은 Get-Acl cmdlet을 사용하여 각 로그 파일의 보안 설명자를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)를 사용하여 결과를 Format-List cmdlet으로 보냅니다. 이 명령은 Format-ListProperty 매개 변수를 사용하여 각 보안 설명자 개체의 PsPathSDDL 속성만 표시합니다.

긴 값이 테이블에서 잘린 것처럼 보이기 때문에 Windows PowerShell에서는 목록이 자주 사용됩니다.

SDDL 값은 보안 설명자의 모든 정보를 포함하는 간단한 텍스트 문자열이므로 시스템 관리자에게 유용합니다. 따라서 전달하고 저장하기 쉽고 필요할 때 구문 분석할 수 있습니다.

예제 3

Get-Acl C:/Windows/k*.log -Audit | ForEach-Object { $_.Audit.Count }

이 명령은 이름이 "k"로 시작하는 C:\Windows 디렉터리에 있는 .log 파일의 보안 설명자를 가져옵니다. Audit 매개 변수를 사용하여 보안 설명자의 SACL에서 감사 레코드를 가져옵니다. 그런 다음ForEach-Object cmdlet을 사용하여 각 파일과 연결된 감사 레코드 수를 계산합니다. 결과는 각 로그 파일에 대한 감사 레코드 수를 나타내는 숫자 목록입니다.

예제 4

Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List

이 명령은 Get-Acl cmdlet을 사용하여 레지스트리의 Control 하위 키(HKLM\SYSTEM\CurrentControlSet\Control)의 보안 설명자를 가져옵니다.

Path 매개 변수는 Control 하위 키를 지정합니다. 파이프라인 연산자(|)는 Get-Acl을 보안 설명자를 Format-List 명령에 전달합니다. 이 명령은 읽기 쉽도록 보안 설명자의 속성 형식을 목록으로 지정합니다.

예제 5

Get-Acl -InputObject (Get-StorageSubSystem -Name S087)

이 명령은 Get-AclInputObject 매개 변수를 사용하여 스토리지 하위 시스템 개체의 보안 설명자를 가져옵니다.

매개 변수

-AllCentralAccessPolicies

컴퓨터에서 사용하도록 설정된 모든 중앙 액세스 정책에 대한 정보를 가져옵니다.

Windows Server 2012부터 관리자는 Active Directory 및 그룹 정책을 사용하여 사용자 및 그룹에 대한 중앙 액세스 정책을 설정할 수 있습니다. 자세한 내용은 동적 액세스 제어: 시나리오 개요참조하세요.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Audit

SACL(시스템 액세스 제어 목록)에서 보안 설명자에 대한 감사 데이터를 가져옵니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Exclude

지정된 항목을 생략합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력합니다. 와일드카드가 허용됩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-Filter

공급자의 형식 또는 언어로 필터를 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 와일드카드 사용을 포함하여 필터의 구문은 공급자에 따라 달라집니다. 필터는 검색된 후 Windows PowerShell이 개체를 필터링하지 않고 개체를 가져올 때 공급자가 적용하기 때문에 다른 매개 변수보다 더 효율적입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-Include

지정된 항목만 가져옵니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력합니다. 와일드카드가 허용됩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-InputObject

지정된 개체의 보안 설명자를 가져옵니다. 개체 또는 개체를 가져오는 명령이 포함된 변수를 입력합니다.

경로 이외의 개체를 get-Acl파이프할 수 없습니다. 대신 명령에서 InputObject 매개 변수를 명시적으로 사용합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:PSObject
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LiteralPath

리소스의 경로를 지정합니다. Path달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 Windows PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String[]
별칭:PSPath
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Path

리소스의 경로를 지정합니다. Get-Acl 경로에 표시된 리소스의 보안 설명자를 가져옵니다. 와일드카드가 허용됩니다. Path 매개 변수를 생략하면 Get-Acl 현재 디렉터리의 보안 설명자를 가져옵니다.

매개 변수 이름("Path")은 선택 사항입니다.

형식:String[]
Position:1
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-UseTransaction

활성 트랜잭션에 명령을 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 유효합니다. 자세한 내용은 about_Transactions 참조하세요.

형식:SwitchParameter
별칭:usetx
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

Get-Acl에 대한 경로가 포함된 문자열을 파이프할 수 있습니다.

출력

System.Security.AccessControl

Get-Acl 가져오는 ACL을 나타내는 개체를 반환합니다. 개체 형식은 ACL 형식에 따라 달라집니다.

참고

기본적으로 get-Acl 리소스에 대한 Windows PowerShell 경로(<공급자>:: 리소스 경로><), 리소스 소유자 및 리소스에 대한 DACL(임의 액세스 제어 목록)에 있는 액세스 제어 항목의 목록(배열)인 "Access"가 표시됩니다. DACL 목록은 리소스 소유자가 제어합니다.

결과 형식을 목록("Get-Acl | Format-List")으로 지정하면 경로, 소유자 및 액세스 목록 외에도 Windows PowerShell은 다음과 같은 속성 및 속성 값을 표시합니다.

  • 그룹: 소유자의 보안 그룹입니다.
  • 감사: SACL(시스템 액세스 제어 목록)의 항목 목록(배열)입니다. SACL은 Windows에서 감사 레코드를 생성하는 액세스 시도 유형을 지정합니다.
  • Sddl: 보안 설명자 정의 언어 형식의 단일 텍스트 문자열에 표시되는 리소스의 보안 설명자입니다. Windows PowerShell은 보안 설명자의 GetSddlForm 메서드를 사용하여 이 데이터를 가져옵니다.

Get-Acl 파일 시스템 및 레지스트리 공급자에서 지원되므로 Get-Acl 사용하여 파일 및 디렉터리, 레지스트리 키 및 항목과 같은 레지스트리 개체와 같은 파일 시스템 개체의 ACL을 볼 수 있습니다.