Condividi tramite


Get-Acl

Ottiene il descrittore di sicurezza per una risorsa, ad esempio un file o una chiave del Registro di sistema.

Sintassi

ByPath (Impostazione predefinita)

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>]

Descrizione

Il cmdlet Get-Acl ottiene oggetti che rappresentano il descrittore di sicurezza di un file o di una risorsa. Il descrittore di sicurezza contiene gli elenchi di controllo di accesso (ACL) della risorsa. L'ACL specifica le autorizzazioni che gli utenti e i gruppi di utenti devono accedere alla risorsa.

A partire da Windows PowerShell 3.0, è possibile usare il parametro InputObject di Get-Acl per ottenere il descrittore di sicurezza degli oggetti che non dispongono di un percorso.

Esempio

Esempio 1- Ottenere un ACL per una cartella

Questo esempio ottiene il descrittore di sicurezza della directory C:\Windows.

Get-Acl C:\Windows

Esempio 2: ottenere un elenco di controllo di accesso per una cartella usando caratteri jolly

Questo esempio ottiene il percorso di PowerShell e SDDL per tutti i file .log nella directory C:\Windows i cui nomi iniziano con s.

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

Il comando usa il cmdlet Get-Acl per ottenere oggetti che rappresentano i descrittori di sicurezza di ogni file di log. Usa un operatore pipeline (|) per inviare i risultati al cmdlet Format-List. Il comando usa il parametro property di Format-List per visualizzare solo le proprietà PSPath e SD DL di ogni oggetto descrittore di sicurezza.

Gli elenchi vengono spesso usati in PowerShell, perché i valori lunghi vengono troncati nelle tabelle.

I valori di SDDL sono utili per gli amministratori di sistema, perché sono semplici stringhe di testo che contengono tutte le informazioni nel descrittore di sicurezza. Di conseguenza, sono facili da passare e archiviare e possono essere analizzati quando necessario.

Esempio 3- Ottenere il conteggio delle voci di controllo per un elenco di controllo di accesso

Questo esempio ottiene i descrittori di sicurezza dei file di .log nella directory C:\Windows i cui nomi iniziano con s.

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

Usa il parametro audit per ottenere i record di controllo dall'elenco sacl nel descrittore di sicurezza. Usa quindi il cmdlet ForEach-Object per contare il numero di record di controllo associati a ogni file. Il risultato è un elenco di numeri che rappresentano il numero di record di controllo per ogni file di log.

Esempio 4- Ottenere un ACL per una chiave del Registro di sistema

In questo esempio viene usato il cmdlet Get-Acl per ottenere il descrittore di sicurezza della sottochiave Control (HKLM:\SYSTEM\CurrentControlSet\Control) del Registro di sistema.

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

Il parametro Percorso specifica la sottochiave Control. L'operatore pipeline (|) passa il descrittore di sicurezza che Get-Acl ottiene al comando Format-List, che formatta le proprietà del descrittore di sicurezza come elenco in modo che siano facili da leggere.

Esempio 5- Ottenere un elenco di controllo di accesso con **InputObject**

In questo esempio viene usato il parametro InputObject di Get-Acl per ottenere il descrittore di sicurezza di un oggetto sottosistema di archiviazione.

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

Parametri

-AllCentralAccessPolicies

Ottiene informazioni su tutti i criteri di accesso centrale abilitati nel computer.

A partire da Windows Server 2012, gli amministratori possono usare Active Directory e Criteri di gruppo per impostare criteri di accesso centrale per utenti e gruppi. Per altre informazioni, vedere Controllo dinamico degli accessi: Panoramica dello scenario.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Audit

Ottiene i dati di controllo per il descrittore di sicurezza dall'elenco di controllo di accesso di sistema (SACL).

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Exclude

Omette gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio *.txt. Sono consentiti i metacaratteri.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Filter

Specifica un filtro nel formato o nella lingua del provider. Il valore di questo parametro qualifica il parametro Path. La sintassi del filtro, incluso l'uso di caratteri jolly, dipende dal provider. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica durante il recupero degli oggetti, invece di filtrare gli oggetti dopo il recupero.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Include

Ottiene solo gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio *.txt. Sono consentiti i metacaratteri.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InputObject

Ottiene il descrittore di sicurezza per l'oggetto specificato. Immettere una variabile contenente l'oggetto o un comando che ottiene l'oggetto .

Non è possibile inviare tramite pipe un oggetto, diverso da un percorso, a Get-Acl. Usare invece il parametro InputObject in modo esplicito nel comando .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:PSObject
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByInputObject
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LiteralPath

Specifica il percorso di una risorsa. A differenza di Path, il valore del parametro LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. Se il percorso include caratteri di escape, racchiudilo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath

Set di parametri

ByLiteralPath
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Path

Specifica il percorso di una risorsa. Get-Acl ottiene il descrittore di sicurezza della risorsa indicata dal percorso. Sono consentiti i metacaratteri. Se si omette il parametro Path, Get-Acl ottiene il descrittore di sicurezza della directory corrente.

Il nome del parametro ("Path") è facoltativo.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

ByPath
Posizione:1
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:usetx

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

È possibile inviare tramite pipe una stringa contenente un percorso a questo cmdlet.

Output

FileSecurity

DirectorySecurity

RegistrySecurity

Questo cmdlet restituisce un oggetto che rappresenta gli ACL che ottiene. Il tipo di oggetto dipende dal tipo ACL.

Note

Per impostazione predefinita, Get-Acl visualizza il percorso di PowerShell alla risorsa (<provider>::<resource-path>), il proprietario della risorsa e "Access", un elenco (matrice) delle voci di controllo di accesso nell'elenco di controllo di accesso discrezionale (DACL) per la risorsa. L'elenco DACL è controllato dal proprietario della risorsa.

Quando si formatta il risultato come elenco, (Get-Acl | Format-List), oltre all'elenco di percorso, proprietario e accesso, PowerShell visualizza le proprietà e i valori delle proprietà seguenti:

  • Gruppo: gruppo di sicurezza del proprietario.
  • Audit: elenco (matrice) di voci nell'elenco di controllo di accesso di sistema (SACL). SACL specifica i tipi di tentativi di accesso per i quali Windows genera record di controllo.
  • Sddl: descrittore di sicurezza della risorsa visualizzata in una singola stringa di testo in formato Linguaggio di definizione del descrittore di sicurezza. PowerShell usa il metodo GetSddlForm di per ottenere questi dati.

Poiché Get-Acl è supportato dai provider FileSystem e Registry, è possibile usare Get-Acl per visualizzare l'ACL degli oggetti del file system, ad esempio file e directory e oggetti del Registro di sistema, ad esempio chiavi e voci del Registro di sistema.