如何通过PowerShell删除Azure存储账户管理ACL列表中的指定条目
彻底删除Azure Data Lake Gen2指定ACL条目的PowerShell方案
你当前使用的命令仅将目标主体的ACL权限设置为无权限(
---),并不会删除整条ACL条目,因此条目仍会保留在访问控制管理列表中。
要彻底删除指定ACL条目,只需在创建ACL对象时添加-Remove参数,该参数会将对应条目标记为待删除状态,执行更新操作时就会直接移除整条条目。
递归删除目录及子项的指定ACL条目
适用于需要批量删除目标目录下所有子文件、子目录对应ACL条目的场景:
$filesystemName = "my-container" $userID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 新增-Remove参数标记该ACL条目为待删除 $acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission "---" -Remove # 执行递归删除操作 Remove-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Acl $acl
仅删除单个目录/文件的指定ACL条目
如果不需要递归处理子项,仅需删除单个目标的ACL条目,可使用如下命令:
$filesystemName = "my-container" $userID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" $targetPath = "your-directory-path" # 操作根目录时可留空 # 标记ACL条目为待删除 $acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission "---" -Remove # 更新单个目标的ACL Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $targetPath -Acl $acl
注意:执行命令前请确认$ctx变量已正确初始化,为对应存储账户的有效上下文对象
内容的提问来源于stack exchange,提问作者Daisy
相关产品推荐
相关产品推荐

