Get-Acl
Obtiene el descriptor de seguridad de un recurso, como un archivo o una clave del Registro.
Sintaxis
Get-Acl [[-Path] <string[]>] [-Audit] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-UseTransaction] [<CommonParameters>]
Descripción
El cmdlet Get-Acl obtiene objetos que representan el descriptor de seguridad de un archivo o recurso. Este descriptor de seguridad contiene las listas de control de acceso (ACL) del recurso. La lista ACL indica los permisos que tienen los usuarios y los grupos de usuarios para obtener acceso al recurso.
Parámetros
-Audit
Obtiene los datos de auditoría correspondientes al descriptor de seguridad de la lista de control de acceso del sistema (SACL).
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Exclude <string[]>
Omite los elementos especificados. El valor de este parámetro califica el parámetro Path. Escriba un patrón o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Filter <string>
Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parámetro califica el parámetro Path. La sintaxis del filtro, incluido el uso de caracteres comodín, depende del proveedor. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica al recuperar los objetos en lugar de hacer que Windows PowerShell filtre los objetos después de recuperarlos.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Include <string[]>
Recupera únicamente los elementos especificados. El valor de este parámetro califica el parámetro Path. Escriba un patrón o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Path <string[]>
Especifica la ruta de acceso a un recurso. Get-Acl obtiene el descriptor de seguridad del recurso indicado por la ruta de acceso. Se permite el uso de caracteres comodín. Si omite el parámetro Path, Get-Acl obtendrá el descriptor de seguridad del directorio actual.
El nombre del parámetro ("Path") es opcional.
¿Requerido? |
false |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue, ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro solo es válido cuando hay una transacción en curso. Para obtener más información, vea about_Transactions.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String Puede canalizar una cadena que contiene una ruta de acceso a Get-Acl. |
Salidas |
System.Security.AccessControl Get-Acl devuelve un objeto que representa las listas ACL que obtiene. El tipo de objeto depende del tipo de lista ACL. |
Notas
De forma predeterminada, Get-Acl muestra la ruta de acceso de Windows PowerShell al recurso (<proveedor>::<rutaAccesoRecurso>), el propietario del recurso y "Access", que es una lista (matriz) de las entradas de control de acceso contenidas en la lista de control de acceso discrecional (DACL) del recurso. El propietario del recurso controla la lista DACL.
Cuando se aplica formato de lista al resultado, ("get-acl | Format-List"), además de la ruta de acceso, el propietario y la lista de acceso, Windows PowerShell muestra los siguientes campos:
-- Group: grupo de seguridad del propietario.
-- Audit: lista (matriz) de las entradas contenidas en la lista de control de acceso del sistema (SACL). La lista SACL indica los tipos de intentos de acceso para los que Windows genera registros de auditoría.
-- Sddl: descriptor de seguridad del recurso mostrado en una única cadena de texto en el formato de Lenguaje de definición de descriptores de seguridad (SDDL, Security Descriptor Definition Language). Windows PowerShell usa el método GetSddlForm de descriptores de seguridad para recuperar estos datos.
Dado que Get-Acl es compatible con los proveedores del Registro y el sistema de archivos, puede usar Get-Acl para ver la lista ACL de los objetos del sistema de archivos (tales como archivos y directorios) y los objetos del Registro (tales como claves y entradas del Registro).
Ejemplo 1
C:\PS>get-acl C:\windows
Descripción
-----------
Este comando obtiene el descriptor de seguridad del directorio C:\Windows.
Ejemplo 2
C:\PS>get-acl C:\Windows\k*.log | format-list -property PSPath, Sddl
Descripción
-----------
Este comando obtiene la ruta de acceso de Windows PowerShell y el SDDL correspondientes a todos los archivos .log del directorio C:\Windows cuyo nombre empieza por "k".
El comando usa Get-Acl para obtener los objetos que representan el descriptor de seguridad de cada archivo de registro. Utiliza un operador de canalización (|) para enviar los resultados al cmdlet Format-List. El comando usa el parámetro Property de Format-List para mostrar solamente las propiedades PsPath y SDDL de cada objeto de descriptor de seguridad.
En Windows PowerShell se usan listas con frecuencia, ya que los valores largos aparecen truncados en tablas.
Los valores de SDDL son valiosos para los administradores de sistemas, porque son cadenas de texto simples que contienen toda la información del descriptor de seguridad. Como tales, son fáciles de pasar y almacenar, y también se pueden analizar cuando sea necesario.
Ejemplo 3
C:\PS>get-ACL c:/windows/k*.log -Audit | foreach-object { $_.Audit.Count }
Descripción
-----------
Este comando obtiene los descriptores de seguridad de los archivos .log del directorio C:\Windows cuyos nombres comienzan con "k". El parámetro Audit se utiliza para recuperar los registros de auditoría de la lista SACL del descriptor de seguridad. A continuación, usa el parámetro For-EachObject para contar el número de registros de auditoría asociados a cada archivo. El resultado es una lista de números que representan el número de registros de auditoría de cada archivo de registro.
Ejemplo 4
C:\PS>get-acl -path hklm:\system\currentcontrolset\control | format-list
Descripción
-----------
Este comando usa Get-Acl para obtener el descriptor de seguridad de la subclave Control (HKLM\SYSTEM\CurrentControlSet\Control) del Registro.
El parámetro Path especifica la subclave Control. El operador de canalización (|) pasa el descriptor de seguridad que Get-Acl recupera al comando Format-List, que aplica formato de lista a las propiedades del descriptor de seguridad para facilitar su lectura.