Get the Access Control List (permissions) for a file or registry key.

      get-acl [[-Path] path [] ]  [-Filter String]
         [-Include String] [-Exclude String]
            [-Audit []] [-UseTransaction] [CommonParameters]

   -Path path       The path to the item {may be piped}
   -Filter String   Filter elements as required and supported by providers
   -Include String  Item(s) upon which Get-acl will act, wildcards are permitted
   -Exclude String  Item(s) upon which Get-acl is not to act
   -Audit           Retrieve audit data for this item from the System ACL
   -UseTransaction  Include the command in the active transaction.


Get ACL information for the Windows directory:

PS C:\> get-acl C:\windows

Copy all the ACL information from the C:\source\ folder onto D:\teams\dest\

Get-ACL C:\source | Set-Acl D:\teams\dest

Get ACL information for C:\Windows expanding the individual ACEs (access control entries)

PS C:\> $mywin = get-acl -path "c:\windows" | select -expand access
PS C:\> $mywin[0]

Get ACL information for all of the .log files in the Windows directory beginning with k.
Display output as a table showing the Path and the owner of each file:

PS C:\> get-acl C:\Windows\k*.log | format-table Path,owner

Retrieve HKLM\SYSTEM\CurrentControlSet\Control from the registry:

PS C:\> get-acl -path hklm:\system\currentcontrolset\control | format-list

Find the owner (creator) of a DNS record [more detailed ownership report here]:

PS C:\> (Get-Acl 'AD:\DC=MyFavoriteDNSRecord,').Owner 

“It's easier to ask forgiveness than it is to get permission” ~ Rear Admiral Grace Hopper

Related PowerShell Cmdlets

set-acl - Set permissions.
NTFS Security Module - Get/Set ACLs, inheritance, ownership and other permissions missing from get/set-acl [Raimund Andrée MSFT].

Copyright © 1999-2024
Some rights reserved