Partager via


Get-Acl

Obtient le descripteur de sécurité d’une ressource, tel qu’un fichier ou une clé de Registre.

Syntaxe

ByPath (Par défaut)

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

ByInputObject

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

ByLiteralPath

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

Description

L’applet de commande Get-Acl obtient des objets qui représentent le descripteur de sécurité d’un fichier ou d’une ressource. Le descripteur de sécurité contient les listes de contrôle d’accès (ACL) de la ressource. La liste de contrôle d’accès spécifie les autorisations que les utilisateurs et les groupes d’utilisateurs ont pour accéder à la ressource.

À compter de Windows PowerShell 3.0, vous pouvez utiliser le paramètre InputObject de Get-Acl pour obtenir le descripteur de sécurité des objets qui n’ont pas de chemin d’accès.

Exemples

Exemple 1 : Obtenir une ACL pour un dossier

Cet exemple obtient le descripteur de sécurité du répertoire C:\Windows.

Get-Acl C:\Windows

Exemple 2 : Obtenir une liste de contrôle d’accès pour un dossier à l’aide de méta-caractères

Cet exemple obtient le chemin d’accès PowerShell et SDDL pour tous les fichiers .log dans le répertoire C:\Windows dont les noms commencent par s.

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

La commande utilise l’applet de commande Get-Acl pour obtenir des objets représentant les descripteurs de sécurité de chaque fichier journal. Il utilise un opérateur de pipeline (|) pour envoyer les résultats à l’applet de commande Format-List. La commande utilise le paramètre Property pour Format-List afficher uniquement les propriétés PSPath et SDDL de chaque objet de descripteur de sécurité.

Les listes sont souvent utilisées dans PowerShell, car les valeurs longues apparaissent tronquées dans les tables.

Les valeurs SDDL sont précieuses pour les administrateurs système, car elles sont des chaînes de texte simples qui contiennent toutes les informations du descripteur de sécurité. Par conséquent, elles sont faciles à transmettre et à stocker, et peuvent être analysées si nécessaire.

Exemple 3 : Obtenir le nombre d’entrées d’audit pour une ACL

Cet exemple obtient les descripteurs de sécurité des fichiers .log dans le répertoire C:\Windows dont les noms commencent par s.

Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }

Il utilise le paramètre Audit pour récupérer les enregistrements d’audit depuis le SACL dans le descripteur de sécurité. Ensuite, il utilise l’applet de commande ForEach-Object pour compter le nombre d’enregistrements d’audit associés à chaque fichier. Le résultat est une liste de nombres représentant le nombre d’enregistrements d’audit pour chaque fichier journal.

Exemple 4 : Obtenir une ACL pour une clé de registre

Cet exemple utilise l’applet de commande Get-Acl pour obtenir le descripteur de sécurité de la sous-clé Control (HKLM:\SYSTEM\CurrentControlSet\Control) du registre.

Get-Acl -Path HKLM:\System\CurrentControlSet\Control | Format-List

Le paramètre Path spécifie la sous-clé Control. L’opérateur de pipeline (|) transmet le descripteur de sécurité que Get-Acl obtient à la commande Format-List, qui met en forme les propriétés du descripteur de sécurité en tant que liste afin qu’ils soient faciles à lire.

Exemple 5 : Obtenir une liste de contrôle d’accès à l’aide de **InputObject**

Cet exemple utilise le paramètre InputObject de Get-Acl pour obtenir le descripteur de sécurité d’un objet de sous-système de stockage.

Get-Acl -InputObject (Get-StorageSubSystem -Name S087)

Paramètres

-AllCentralAccessPolicies

Obtient des informations sur toutes les stratégies d’accès centralisée activées sur l’ordinateur.

À compter de Windows Server 2012, les administrateurs peuvent utiliser Active Directory et la stratégie de groupe pour définir des stratégies d’accès centralisées pour les utilisateurs et les groupes. Pour plus d’informations, consultez Contrôle d’accès dynamique : Vue d’ensemble du scénario.

Ce paramètre est introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Audit

Obtient les données d’audit du descripteur de sécurité à partir de la liste de contrôle d’accès système (SACL).

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Exclude

Omettez les éléments spécifiés. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément de chemin ou un modèle, tel que *.txt. Les caractères génériques sont autorisés.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Filter

Spécifie un filtre dans le format ou la langue du fournisseur. La valeur de ce paramètre qualifie le paramètre Path. La syntaxe du filtre, y compris l’utilisation de caractères génériques, dépend du fournisseur. Les filtres sont plus efficaces que d’autres paramètres, car le fournisseur les applique lors de l’obtention des objets, plutôt que de filtrer les objets après leur récupération.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Include

Obtient uniquement les éléments spécifiés. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément de chemin ou un modèle, tel que *.txt. Les caractères génériques sont autorisés.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Obtient le descripteur de sécurité pour l’objet spécifié. Entrez une variable qui contient l’objet ou une commande qui obtient l’objet.

Vous ne pouvez pas transmettre un objet, autre qu’un chemin d’accès, vers Get-Acl. Utilisez plutôt le paramètre InputObject explicitement dans la commande.

Ce paramètre est introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:PSObject
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByInputObject
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LiteralPath

Spécifie le chemin d’accès à une ressource. Contrairement à Path, la valeur du paramètre LiteralPath est utilisée exactement comme il est typé. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Ce paramètre est introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:PSPath

Jeux de paramètres

ByLiteralPath
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Path

Spécifie le chemin d’accès à une ressource. Get-Acl obtient le descripteur de sécurité de la ressource indiquée par le chemin d’accès. Les caractères génériques sont autorisés. Si vous omettez le paramètre Path, Get-Acl obtient le descripteur de sécurité du répertoire actif.

Le nom du paramètre (« Path ») est facultatif.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

ByPath
Position:1
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-UseTransaction

Inclut la commande dans la transaction active. Ce paramètre est valide uniquement lorsqu’une transaction est en cours. Pour plus d’informations, consultez about_Transactions.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:usetx

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

String

Vous pouvez acheminer une chaîne contenant un chemin vers cette applet de commande.

Sorties

FileSecurity

DirectorySecurity

RegistrySecurity

Cette applet de commande retourne un objet qui représente les listes de contrôle d’accès qu’elle obtient. Le type d’objet dépend du type ACL.

Notes

Par défaut, Get-Acl affiche le chemin d’accès PowerShell à la ressource (<provider>::<resource-path>), le propriétaire de la ressource et « Access », une liste (tableau) des entrées de contrôle d’accès dans la liste de contrôle d’accès discrétionnaire (DACL) de la ressource. La liste DACL est contrôlée par le propriétaire de la ressource.

Lorsque vous mettez en forme le résultat sous la forme d’une liste (Get-Acl | Format-List), en plus du chemin, du propriétaire et de la liste d’accès, PowerShell affiche les propriétés et les valeurs de propriété suivantes :

  • groupe: groupe de sécurité du propriétaire.
  • Audit: liste (tableau) d’entrées dans la liste de contrôle d’accès système (SACL). La SACL (liste de contrôle d'accès système) spécifie les types de tentatives d'accès pour lesquels Windows génère des enregistrements d'audit.
  • Sddl: descripteur de sécurité de la ressource affiché dans une chaîne de texte unique au format de langage de définition du descripteur de sécurité. PowerShell utilise la méthode GetSddlForm des descripteurs de sécurité pour obtenir ces données.

Étant donné qu’il Get-Acl est pris en charge par les fournisseurs FileSystem et Registry, vous pouvez utiliser Get-Acl pour afficher la liste de contrôle d’accès des objets du système de fichiers, tels que des fichiers et des répertoires, et des objets de Registre, tels que les clés de Registre et les entrées.