共用方式為


Get-Acl

取得資源的安全性描述元,例如檔案或登錄機碼。

語法

ByPath (預設值)

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

Get-Acl Cmdlet 會取得代表檔案或資源之安全性描述元的物件。 安全性描述項包含資源的訪問控制清單(ACL)。 ACL 會指定使用者和使用者群組必須存取資源的許可權。

從 Windows PowerShell 3.0 開始,您可以使用 Get-AclInputObject 參數來取得沒有路徑之物件的安全性描述元。

範例

範例 1

Get-Acl C:\Windows

此命令會取得 C:Windows 目錄的安全性描述元。

範例 2

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

此命令會取得 C:\Windows 目錄中名稱開頭為 “k” 之所有.log檔案的 Windows PowerShell 路徑和 SDDL。

此命令會使用 Get-Acl Cmdlet 來取得代表每個記錄檔之安全性描述項的物件。 它會使用管線運算符 (|) 將結果傳送至 Format-List Cmdlet。 此命令會使用 Format-ListProperty 參數,只顯示每個安全性描述元物件的 PsPathSDDL 屬性。

清單通常用於 Windows PowerShell,因為數據表中會出現長值。

SDDL 值對於系統管理員而言相當重要,因為它們是包含安全性描述元中所有資訊的簡單文字字串。 因此,它們很容易通過和儲存,而且在需要時可以剖析。

範例 3

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

此命令會取得 C:\Windows 目錄中名稱開頭為 “k” 之.log檔案的安全性描述項。它會使用 Audit 參數,從安全性描述元中的 SACL 取得稽核記錄。 然後使用ForEach-Object Cmdlet 來計算與每個檔案相關聯的稽核記錄數目。 結果是數字清單,代表每個記錄檔的稽核記錄數目。

範例 4

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

此命令會使用 Get-Acl Cmdlet 來取得登錄之 Control 子機碼 (HKLM\SYSTEM\CurrentControlSet\Control) 的安全性描述項。

Path 參數會指定 Control 子機碼。 管線運算符 (|) 會將 get-Acl 的安全性描述元傳遞至 Format-List 命令,其會將安全性描述元的屬性格式化為清單,使其易於讀取。

範例 5

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

此命令會使用 Get-AclInputObject 參數來取得儲存子系統對象的安全性描述元。

參數

-AllCentralAccessPolicies

取得計算機上啟用之所有中央存取原則的相關信息。

從 Windows Server 2012 開始,系統管理員可以使用 Active Directory 和組策略來設定使用者和群組的集中存取原則。 如需詳細資訊,請參閱 動態存取控制:案例概觀

此參數是在 Windows PowerShell 3.0 中引進的。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Audit

從系統訪問控制清單取得安全性描述項的稽核數據(SACL)。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Exclude

省略指定的項目。 此參數的值會限定Path參數。 輸入路徑專案或模式,例如 「*.txt」。。 允許使用通配符。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Filter

以提供者的格式或語言指定篩選。 此參數的值對 路徑 參數進行限定。 篩選的語法,包括使用通配符,取決於提供者。 篩選比其他參數更有效率,因為提供者在取得物件時會套用它們,而不是在擷取對象之後讓 Windows PowerShell 篩選物件。

參數屬性

類型:String
預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Include

只取得指定的專案。 此參數的值對 路徑 參數進行限定。 輸入路徑專案或模式,例如 「*.txt」。。 允許使用通配符。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-InputObject

取得指定之物件的安全性描述項。 輸入包含 物件的變數,或取得物件的命令。

您無法使用管線將路徑以外的物件傳送至 Get-Acl。 在命令中,改為明確使用 InputObject 參數。

此參數是在 Windows PowerShell 3.0 中引進的。

參數屬性

類型:PSObject
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ByInputObject
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-LiteralPath

指定資源的路徑。 不同於 PathLiteralPath 參數的值完全按照輸入的方式使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知 Windows PowerShell 不要將任何字元解譯為逸出序列。

此參數是在 Windows PowerShell 3.0 中引進的。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:PSPath

參數集

ByLiteralPath
Position:Named
必要:False
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Path

指定資源的路徑。 Get-Acl 取得路徑所指示之資源的安全性描述元。 允許使用通配符。 如果您省略 Path 參數,Get-Acl 取得目前目錄的安全性描述元。

參數名稱 (“Path”) 是選擇性的。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:True
不要顯示:False

參數集

ByPath
Position:1
必要:False
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-UseTransaction

在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:usetx

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

String

您可以使用管線將包含 Get-Acl 路徑的字串傳送。

輸出

System.Security.AccessControl

Get-Acl 會傳回代表其取得 ACL 的物件。 物件類型取決於 ACL 類型。

備註

根據預設,Get-Acl 會顯示資源的 Windows PowerShell 路徑(<提供者>::<資源路徑>)、資源的擁有者,以及資源之訪問控制專案的清單(數位),以及資源自由裁量訪問控制清單 (DACL) 中的清單(數位)。 DACL 清單是由資源擁有者所控制。

當您將結果格式化為清單時Get-Acl | Format-List,除了路徑、擁有者和存取清單之外,Windows PowerShell 也會顯示下列屬性和屬性值:

  • 群組:擁有者的安全組。
  • 稽核:系統訪問控制清單中項目的清單(陣列)(SACL)。 SACL 會指定 Windows 產生稽核記錄的存取嘗試類型。
  • Sddl:以安全描述元定義語言格式的單一文字字串顯示之資源的安全性描述元。 Windows PowerShell 會使用安全性描述元的 GetSddlForm 方法來取得此數據。

由於文件系統和登錄提供者支援 Get-Acl,因此您可以使用 Get-Acl 來檢視文件系統物件的 ACL,例如檔案和目錄,以及登錄物件,例如登錄機碼和專案。