Contact Info

Crumbtrail » Administration » Powershell » Powershell 1.0 » Get-Acl

Get-Acl - Powershell 1.0 CmdLet

Microsoft Windows PowerShell is a command-line shell and scripting tool based on the Microsoft .NET Framework. It is designed for system administrators, engineers and developers to control and automate the administration of Windows and applications.

More than hundred command-line tools (so called "cmdlets") can be used to perform system administration tasks and Windows Management Instrumentation (WMI). These cmdlets are easy to use, with standard naming conventions and common parameters, and standard tools for piping, sorting, filtering, and formatting data and objects.


Get permission settings for a file or registry key


-aclObject ObjectSecurity
       An ACL with the desired property values.

   -filter string
       A filter in the provider's format or language. 
       The exact syntax of the filter (wildcard support etc) depends on the provider.
       Filters are more efficient than -include/-exclude, because the provider
       applies the filter when retrieving the objects, rather than having 
       PowerShell filter the objects after they are retrieved.

   -include string
       Include only the specified items from the Path. e.g. "May*"
       this only works when the path includes a wildcard character.
   -exclude string
       Omit the specified items from the Path e.g. "*SS64*"
       this only works when the path includes a wildcard character.

       Pass the object created by Set-Acl through the pipeline.
       Describe what would happen if you executed the command without
       actually executing the command.

Prompt for confirmation before executing the command.

Get ACL information for the Windows directory:

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

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