共用方式為


Set-AzDataLakeGen2ItemAclObject

建立/更新 DataLake gen2 專案 ACL 物件,可在 Update-AzDataLakeGen2Item Cmdlet 中使用。

語法

Default (預設值)

Set-AzDataLakeGen2ItemAclObject
    [-EntityId <String>]
    [-DefaultScope]
    -Permission <String>
    [-InputObject <PSPathAccessControlEntry[]>]
    -AccessControlType <AccessControlType>
    [<CommonParameters>]

Description

Set-AzDataLakeGen2ItemAclObject Cmdlet 會建立/更新 DataLake gen2 專案 ACL 物件,該物件可在 Cmdlet 中使用 Update-AzDataLakeGen2Item。 如果輸入 ACL 中不存在具有相同 AccessControlType/EntityId/DefaultScope 的新 ACL 項目,則會建立新的 ACL 項目,否則會更新現有 ACL 項目的許可權。

範例

範例 1:建立具有 3 個 ACL 專案的 ACL 物件,並更新目錄上的 ACL

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rw-" -InputObject $acl
Update-AzDataLakeGen2Item -FileSystem "filesystem1" -Path "dir1/dir3" -ACL $acl
FileSystem Name: filesystem1

Path                 IsDirectory  Length          LastModified         Permissions  Owner                Group
----                 -----------  ------          ------------         -----------  -----                -----
dir1/dir3            True                         2020-03-23 09:34:31Z rwxrw-rw-+   $superuser           $superuser

此命令建立具有3個ACL條目的ACL對象(使用 -InputObject 引數將ACL條目新增到現有ACL對象),並更新目錄上的ACL。

範例 2:建立具有 4 個 ACL 項目的 ACL 物件,並更新現有 ACL 項目的許可權

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rwt" -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission rwx -InputObject $acl
$acl

DefaultScope AccessControlType EntityId                             Permissions
------------ ----------------- --------                             -----------
True         User                                                   rwx
False        Group                                                  rw-
False        Other                                                  rwt
False        User              ********-****-****-****-************ rwx

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -InputObject $acl
$acl

DefaultScope AccessControlType EntityId                             Permissions
------------ ----------------- --------                             -----------
True         User                                                   rwx
False        Group                                                  rw-
False        Other                                                  rw-
False        User              ********-****-****-****-************ r-x

此命令會先建立具有 4 個 ACL 專案的 ACL 物件,然後以不同的許可權再次執行 Cmdlet,但與現有 ACL 專案的 AccessControlType/EntityId/DefaultScope 相同。 然後更新 ACL 項目的許可權,但不會新增任何新的 ACL 項目。

參數

-AccessControlType

有四種類型:「使用者」將權限授與擁有者或具名使用者,「群組」將權限授與擁有群組或具名群組,「遮罩」限制授與具名使用者和群組成員的權限,以及「其他」將權限授與任何其他項目中找不到的所有使用者。

參數屬性

類型:AccessControlType
預設值:None
接受的值:User, Group, Mask, Other
支援萬用字元:False
不要顯示:False

參數集

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

-DefaultScope

設定此參數以指出 ACE 屬於目錄的預設 ACL;否則範圍是隱含的,ACE屬於訪問ACL。

參數屬性

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

參數集

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

-EntityId

使用者或群組識別碼。 對於 AccessControlType “mask” 和 “other” 的項目,省略了它。 擁有者及擁有群組的使用者或群組 ID 也會省略。

參數屬性

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

參數集

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

-InputObject

如果輸入 PSPathAccessControlEntry[] 物件,則會將新的 ACL 新增為輸入 PSPathAccessControlEntry[] 物件的新元素。

參數屬性

類型:

PSPathAccessControlEntry[]

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

參數集

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

-Permission

權限欄位是一個 3 個字元的序列,其中第一個字元是「r」以授予讀取權限,第二個字元是「w」以授予寫入權限,第三個字元是「x」以授予執行權限。 如果未授予存取權限,則使用 '-' 字元表示權限被拒絕。 還支持粘性位,它在最終字符位置中由字母 t 或 T 表示,具體取決於其他類別的執行位是分別設置還是未設置,缺少 t 或 T 表示粘性位未設置。

參數屬性

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

參數集

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

CommonParameters

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

輸入

None

輸出

PSPathAccessControlEntry