Get-Acl

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

Syntax

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

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

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

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

예제

예제 1 - 폴더에 대한 ACL 가져오기

이 예제에서는 디렉터리의 보안 설명자를 C:\Windows 가져옵니다.

Get-Acl C:\Windows

예제 2 - wild카드를 사용하여 폴더에 대한 ACL 가져오기

이 예제에서는 이름이 .로 시작하는 디렉터리의 모든 .log 파일에 C:\Windows 대한 PowerShell 경로 및 SDDL을 s가져옵니다.

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

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

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

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

예제 3 - ACL에 대한 감사 항목 수 가져오기

이 예제에서는 이름이 .로 시작하는 s디렉터리에 있는 C:\Windows 파일의 .log 보안 설명자를 가져옵니다.

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

Audit 매개 변수를 사용하여 보안 설명자의 SACL에서 감사 레코드를 가져옵니다. 그런 다음 cmdlet을 ForEach-Object 사용하여 각 파일과 연결된 감사 레코드 수를 계산합니다. 결과는 각 로그 파일에 대한 감사 레코드 수를 나타내는 숫자 목록입니다.

예제 4 - 레지스트리 키에 대한 ACL 가져오기

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

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

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

예제 5 - **InputObject**를 사용하여 ACL 가져오기

이 예제에서는 InputObject 매개 변수 Get-Acl 를 사용하여 스토리지 하위 시스템 개체의 보안 설명자를 가져옵니다.

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

매개 변수

-Audit

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

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

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

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

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

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

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

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Path

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

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

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

입력

String

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

출력

FileSecurity

DirectorySecurity

RegistrySecurity

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

참고

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

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

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

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

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