Get-Acl
Obtém o descritor de segurança para um recurso, como um arquivo ou chave do registro.
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
Esse cmdlet só está disponível na plataforma Windows.
O Get-Acl
cmdlet obtém objetos que representam o descritor de segurança de um arquivo ou recurso. O descritor de segurança contém as listas de controle de acesso (ACLs) do recurso. A ACL especifica as permissões que os usuários e grupos de usuários têm para acessar o recurso.
A partir do Windows PowerShell 3.0, você pode usar o parâmetro InputObject de Get-Acl
para obter o descritor de segurança de objetos que não têm um caminho.
Exemplos
Exemplo 1– Obter uma ACL para uma pasta
Este exemplo obtém o descritor de segurança do C:\Windows
diretório.
Get-Acl C:\Windows
Exemplo 2 – Obter uma ACL para uma pasta usando curingas
Este exemplo obtém o caminho do PowerShell e o SDDL para todos os .log
arquivos no C:\Windows
diretório cujos nomes começam com s
.
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
O comando usa o Get-Acl
cmdlet para obter objetos que representam os descritores de segurança de cada arquivo de log. Ele usa um operador de pipeline (|
) para enviar os resultados para o Format-List
cmdlet . O comando usa o parâmetro Property de Format-List
para exibir apenas as propriedades PsPath e SDDL de cada objeto descritor de segurança.
Listas geralmente são usados no PowerShell, pois valores longos aparecem truncados em tabelas.
Os valores SDDL são importantes para administradores de sistema, porque eles são cadeias de caracteres de texto simples que contêm todas as informações no descritor de segurança. Assim, é fácil que ocorra com eles passar e armazenar, eles que podem ser analisados quando necessário.
Exemplo 3 – Obter contagem de entradas de auditoria para uma ACL
Este exemplo obtém os descritores de segurança dos .log
arquivos no C:\Windows
diretório cujos nomes começam com s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Ele usa o parâmetro Audit para obter os registros de auditoria da SACL no descritor de segurança.
Em seguida, ele usa o ForEach-Object
cmdlet para contar o número de registros de auditoria associados a cada arquivo. O resultado é uma lista de números que representam o número de registros de auditoria para cada arquivo de log.
Exemplo 4 – Obter uma ACL para uma chave do Registro
Este exemplo usa o Get-Acl
cmdlet para obter o descritor de segurança da subchave Control (HKLM:\SYSTEM\CurrentControlSet\Control
) do registro.
Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List
O parâmetro Path especifica a subchave Control. O operador de pipeline (|
) passa o descritor de segurança que Get-Acl
chega ao Format-List
comando , que formata as propriedades do descritor de segurança como uma lista para que elas sejam fáceis de ler.
Exemplo 5 – Obter uma ACL usando **InputObject**
Este exemplo usa o parâmetro InputObject de Get-Acl
para obter o descritor de segurança de um objeto de subsistema de armazenamento.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Parâmetros
-Audit
Obtém os dados de auditoria para o descritor de segurança da lista de controle de acesso do sistema (SACL).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Omite os itens especificados. O valor deste parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt
. Caracteres curinga são permitidos.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Especifica um filtro no formato ou linguagem do provedor. O valor deste parâmetro qualifica o parâmetro Path. A sintaxe do filtro, incluindo o uso de caracteres curingas, depende do provedor. Os filtros são mais eficientes do que outros parâmetros, pois o provedor os aplica ao obter os objetos, em vez de fazer com que o PowerShell filtre os objetos depois que eles são recuperados.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Include
Obtém somente os itens especificados. O valor deste parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt
. Caracteres curinga são permitidos.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
Obtém o descritor de segurança para o objeto especificado. Insira uma variável que contenha o objeto ou um comando que obtenha o objeto.
Não é possível redirecionar um objeto, além de um caminho, para Get-Acl
. Em vez disso, use o parâmetro InputObject explicitamente no comando.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Especifica o caminho para um recurso. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como foi digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Especifica o caminho para um recurso. Get-Acl
obtém o descritor de segurança do recurso indicado pelo caminho. Caracteres curinga são permitidos. Se você omitir o parâmetro Path , Get-Acl
obterá o descritor de segurança do diretório atual.
O nome do parâmetro ("Path") é opcional.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Entradas
Você pode redirecionar uma cadeia de caracteres que contém um caminho para Get-Acl
.
Saídas
System.Security.AccessControl.FileSecurity, System.Security.AccessControl.DirectorySecurity, System.Security.AccessControl.RegistrySecurity
Get-Acl
retorna um objeto que representa as ACLs que ele obtém. O tipo de objeto depende do tipo da ACL.
Observações
Esse cmdlet só está disponível em plataformas Windows.
Por padrão, Get-Acl
exibe o caminho do PowerShell para o recurso (<provider>::<resource-path>
), o proprietário do recurso e "Access", uma lista (matriz) das entradas de controle de acesso na DACL (lista de controle de acesso discricionário) do recurso. A lista de DACL é controlada pelo proprietário do recurso.
Quando você formata o resultado como uma lista, (Get-Acl | Format-List
), além do caminho, do proprietário e da lista de acesso, o PowerShell exibe as seguintes propriedades e valores de propriedade:
- Grupo: o grupo de segurança do proprietário.
- Auditoria: uma lista (matriz) de entradas na SACL (lista de controle de acesso do sistema). A SACL especifica os tipos de tentativas de acesso para as quais o Windows gera registros de auditoria.
- Sddl: o descritor de segurança do recurso exibido em uma única cadeia de caracteres de texto no formato linguagem de definição do descritor de segurança. O PowerShell usa o método GetSddlForm de descritores de segurança para obter esses dados.
Como Get-Acl
há suporte para o sistema de arquivos e provedores de registro, você pode usar Get-Acl
para exibir a ACL de objetos do sistema de arquivos, como arquivos e diretórios, e objetos do Registro, como chaves e entradas do Registro.