Compartilhar via


Get-Acl

Obtém o descritor de segurança de um recurso, como um arquivo ou chave do Registro.

Sintaxe

ByPath (Padrão)

Get-Acl
    [[-Path] <String[]>]
    [-Audit]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

ByInputObject

Get-Acl
    -InputObject <PSObject>
    [-Audit]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

ByLiteralPath

Get-Acl
    [-LiteralPath <String[]>]
    [-Audit]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

Description

Este cmdlet só está disponível na plataforma Windows.

O cmdlet Get-Acl obtém objetos que representam o descritor de segurança de um arquivo ou recurso. O descritor de segurança contém as ACLs (listas de controle de acesso) 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 diretório C:\Windows.

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 arquivos .log no diretório C:\Windows cujos nomes começam com s.

Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl

O comando usa o cmdlet Get-Acl 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 cmdlet Format-List. 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.

As listas geralmente são usadas no PowerShell, pois valores longos aparecem truncados em tabelas.

Os valores de do SDDL são valiosos para os administradores do sistema, pois são cadeias de caracteres de texto simples que contêm todas as informações no descritor de segurança. Como tal, eles são fáceis de passar e armazenar, e 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 arquivos .log no diretório C:\Windows 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 do SACL no descritor de segurança. Em seguida, ele usa o cmdlet ForEach-Object 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 cmdlet Get-Acl 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 caminho especifica a subchave Control. O operador de pipeline (|) passa o descritor de segurança que Get-Acl chega ao comando Format-List, que formata as propriedades do descritor de segurança como uma lista para que 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 do descritor de segurança da SACL (lista de controle de acesso do sistema).

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Exclude

Omite os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Filter

Especifica um filtro no formato ou idioma do provedor. O valor desse parâmetro qualifica o parâmetro Path. A sintaxe do filtro, incluindo o uso de caracteres curinga, 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 de recuperados.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Include

Obtém apenas os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InputObject

Obtém o descritor de segurança do objeto especificado. Insira uma variável que contenha o objeto ou um comando que obtém o objeto.

Você não pode redirecionar um objeto, além de um caminho, para Get-Acl. Em vez disso, use o parâmetro InputObject explicitamente no comando.

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByInputObject
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LiteralPath

Especifica o caminho para um recurso. Ao contrário do caminho , o valor do parâmetro LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

ByLiteralPath
Cargo:Named
Obrigatório:False
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

ByPath
Cargo:1
Obrigatório:False
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

String

É possível direcionar uma cadeia de caracteres que contém um caminho para este cmdlet.

Saídas

FileSecurity

DirectorySecurity

RegistrySecurity

Esse cmdlet retorna um objeto que representa as ACLs que ele obtém. O tipo de objeto depende do tipo ACL.

Observações

Este cmdlet está disponível apenas 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 DACL é controlada pelo proprietário do recurso.

Quando você formata o resultado como uma lista, (Get-Acl | Format-List), além do caminho, proprietário e 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). O 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 tem suporte dos provedores FileSystem e Registry, 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.