Get-Acl
Obtiene el descriptor de seguridad de un recurso, como una clave del Registro o archivo.
Sintaxis
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
El Get-Acl
cmdlet obtiene objetos que representan el descriptor de seguridad de un archivo o recurso. El descriptor de seguridad contiene las listas de control de acceso (ACL) del recurso. La ACL especifica los permisos que los usuarios y los grupos de usuarios tienen para acceder al recurso.
A partir de Windows PowerShell 3.0, puede usar el parámetro InputObject de Get-Acl
para obtener el descriptor de seguridad de los objetos que no tienen una ruta de acceso.
Ejemplos
Ejemplo 1: Obtención de una ACL para una carpeta
En este ejemplo se obtiene el descriptor de seguridad del C:\Windows
directorio.
Get-Acl C:\Windows
Ejemplo 2: Obtención de una ACL para una carpeta mediante caracteres comodín
En este ejemplo se obtiene la ruta de acceso de PowerShell y SDDL para todos los .log
archivos del C:\Windows
directorio cuyos nombres comienzan por s
.
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
El comando usa el Get-Acl
cmdlet para obtener objetos que representan los descriptores de seguridad de cada archivo de registro. Usa un operador de canalización (|
) para enviar los resultados al Format-List
cmdlet . El comando usa el parámetro Property de Format-List
para mostrar solo las propiedades PsPath y SDDL de cada objeto descriptor de seguridad.
Las listas se suelen usar en PowerShell, ya que los valores largos aparecen truncados en tablas.
Los valores de SDDL son valiosos para los administradores del sistema, ya que son cadenas de texto simples que contienen toda la información en el descriptor de seguridad. Por lo tanto, son fáciles de pasar y almacenar y se pueden analizar cuando sea necesario.
Ejemplo 3: Obtención del recuento de entradas de auditoría de una ACL
En este ejemplo se obtienen los descriptores de seguridad de los .log
archivos del C:\Windows
directorio cuyos nombres comienzan por s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Usa el parámetro Audit para obtener los registros de auditoría del SACL en el descriptor de seguridad.
A continuación, usa el ForEach-Object
cmdlet 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: Obtención de una ACL para una clave del Registro
En este ejemplo se usa el Get-Acl
cmdlet para obtener el descriptor de seguridad de la subclave Control (HKLM:\SYSTEM\CurrentControlSet\Control
) del Registro.
Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List
El parámetro Path especifica la subclave Control. El operador de canalización (|
) pasa el descriptor de seguridad que Get-Acl
obtiene al Format-List
comando , que da formato a las propiedades del descriptor de seguridad como una lista para que sean fáciles de leer.
Ejemplo 5: Obtención de una ACL mediante **InputObject**
En este ejemplo se usa el parámetro InputObject de Get-Acl
para obtener el descriptor de seguridad de un objeto del subsistema de almacenamiento.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Parámetros
-AllCentralAccessPolicies
Obtiene información sobre todas las directivas de acceso central que están habilitadas en el equipo.
A partir de Windows Server 2012, los administradores pueden usar Active Directory y directiva de grupo para establecer directivas de acceso central para usuarios y grupos. Para obtener más información, consulte Control de acceso dinámico: Información general sobre escenarios.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Audit
Obtiene los datos de auditoría para el descriptor de seguridad de la lista de control de acceso de sistema (SACL).
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Exclude
Omite los elementos especificados. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt
. Se permiten los caracteres comodín.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-Filter
Especifica un filtro en el formato o el 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 obtener los objetos, en lugar de que PowerShell filtre los objetos una vez recuperados.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-Include
Solo obtiene los elementos especificados. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt
. Se permiten los caracteres comodín.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-InputObject
Obtiene el descriptor de seguridad para el objeto especificado. Introduzca una variable que contenga el objeto o un comando que obtenga el objeto.
No se puede canalizar un objeto, que no sea una ruta de acceso, a Get-Acl
. En su lugar, use el parámetro InputObject explícitamente en el comando .
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-LiteralPath
Especifica la ruta de acceso a un recurso. A diferencia de Path, el valor del parámetro LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso contiene caracteres de escape, escríbalos entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | String[] |
Alias: | PSPath |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Path
Especifica la ruta de acceso a un recurso. Get-Acl
obtiene el descriptor de seguridad del recurso indicado por la ruta de acceso. Se permiten los caracteres comodín. Si omite el parámetro Path , Get-Acl
obtiene el descriptor de seguridad del directorio actual.
El nombre de parámetro ("Path") es opcional.
Tipo: | String[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-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, consulte about_Transactions.
Tipo: | SwitchParameter |
Alias: | usetx |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar una cadena que contenga una ruta de acceso a este cmdlet.
Salidas
Este cmdlet devuelve un objeto que representa las ACL que obtiene. El tipo de objeto depende del tipo de ACL.
Notas
De forma predeterminada, Get-Acl
muestra la ruta de acceso de PowerShell al recurso (<provider>::<resource-path>
), el propietario del recurso y "Access", una lista (matriz) de las entradas del control de acceso en la lista de control de acceso discrecional (DACL) para el recurso. La lista DACL se controla mediante el propietario del recurso.
Al dar formato al resultado como una lista, (Get-Acl | Format-List
), además de la ruta de acceso, el propietario y la lista de acceso, PowerShell muestra las siguientes propiedades y valores de propiedad:
- Grupo: el grupo de seguridad del propietario.
- Auditoría: lista (matriz) de entradas en la lista de control de acceso del sistema (SACL). La SACL especifica los tipos de intentos de acceso para los que Windows genera los registros de auditoría.
- Sddl: descriptor de seguridad del recurso mostrado en una sola cadena de texto en formato lenguaje de definición de descriptores de seguridad. PowerShell usa el método GetSddlForm de descriptores de seguridad para obtener estos datos.
Dado Get-Acl
que es compatible con el sistema de archivos y los proveedores del registro, puede usar Get-Acl
para ver la ACL de objetos del sistema de archivos, como archivos y directorios, y objetos del Registro, como claves del Registro y entradas.