Get-Acl
Obtient le descripteur de sécurité d'une ressource, comme une clé de Registre ou un fichier.
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
L’applet Get-Acl
de commande 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 ACL spécifie les autorisations dont disposent les utilisateurs et les groupes d'utilisateurs pour accéder à la ressource.
À compter de Windows PowerShell 3.0, vous pouvez utiliser le paramètre InputObject pour Get-Acl
obtenir le descripteur de sécurité des objets qui n’ont pas de chemin d’accès.
Exemples
Exemple 1 - Obtenir une liste de contrôle d’accès pour un dossier
Cet exemple obtient le descripteur de sécurité du C:\Windows
répertoire.
Get-Acl C:\Windows
Exemple 2 : Obtenir une liste de contrôle d’accès pour un dossier à l’aide de caractères génériques
Cet exemple obtient le chemin d’accès PowerShell et SDDL pour tous les fichiers du C:\Windows
répertoire dont les .log
noms commencent s
par .
Get-Acl C:\Windows\s*.log | Format-List -Property PSPath, Sddl
La commande utilise l’applet Get-Acl
de commande 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 Format-List
commande. 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 constituées de 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 liste de contrôle d’accès
Cet exemple obtient les descripteurs de sécurité des .log
fichiers dans le C:\Windows
répertoire dont les noms commencent par s
.
Get-Acl C:\Windows\s*.log -Audit | ForEach-Object { $_.Audit.Count }
Elle utilise le paramètre Audit pour obtenir les enregistrements d'audit de la liste SACL dans le descripteur de sécurité.
Ensuite, il utilise l’applet ForEach-Object
de commande 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 de chaque fichier journal.
Exemple 4 : Obtenir une liste de contrôle d’accès pour une clé de Registre
Cet exemple utilise l’applet de commande pour obtenir le Get-Acl
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é qui Get-Acl
accède à la Format-List
commande, qui met en forme les propriétés du descripteur de sécurité comme 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 pour obtenir le descripteur de Get-Acl
sécurité d’un objet de sous-système de stockage.
Get-Acl -InputObject (Get-StorageSubSystem -Name S087)
Paramètres
-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).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Omet les éléments spécifiés. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, par exemple *.txt
. Les caractères génériques sont autorisés.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Spécifie un filtre dans le format ou le langage du fournisseur. La valeur de ce paramètre qualifie le paramètre Path. La syntaxe du filtre, notamment 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 d’avoir PowerShell filtrer les objets une fois qu’ils sont récupérés.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Include
Obtient uniquement les éléments spécifiés. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, par exemple *.txt
. Les caractères génériques sont autorisés.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
Obtient le descripteur de sécurité de l'objet spécifié. Entrez une variable qui contient l'objet ou tapez une commande permettant d'obtenir cet objet.
Vous ne pouvez pas diriger 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Spécifie le chemin d'accès à une ressource. Contrairement au paramètre Path, la valeur du paramètre LiteralPath est utilisée exactement telle qu'elle est tapée. 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 les caractères comme séquences d’échappement.
Ce paramètre est introduit dans Windows PowerShell 3.0.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 actuel.
Le nom de paramètre (« Path ») est facultatif.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Entrées
Vous pouvez diriger une chaîne qui contient un chemin d’accès Get-Acl
.
Sorties
System.Security.AccessControl.FileSecurity, System.Security.AccessControl.DirectorySecurity, System.Security.AccessControl.RegistrySecurity
Get-Acl
retourne un objet qui représente les listes de contrôle d’accès qu’il obtient. Le type d'objet varie selon le type d'ACL.
Notes
Cette applet de commande est disponible uniquement sur les plateformes Windows.
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 d’accès, 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 liste SACL 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 Langage de définition de descripteur de sécurité. PowerShell utilise la méthode GetSddlForm des descripteurs de sécurité pour obtenir ces données.
Étant Get-Acl
donné qu’il est pris en charge par le système de fichiers et les fournisseurs de registre, 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 des clés de Registre et des entrées.