A Remove-AzDataLakeGen2AclRecursive parancsmag rekurzív módon távolítja el az ACL-t a megadott útvonalon.
Az eredeti ACL-ben lévő ACL-bejegyzések, amelyek ugyanazt az AccessControlType, DefaultScope és EntityId típusú bemeneti ACL-bejegyzésekkel (akár eltérő engedélyekkel is) tartalmazzák, wil lbe el lettek távolítva.
Példák
1. példa: Az ACL rekurzív eltávolítása a fájlrendszer gyökérkönyvtárán
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -InputObject $acl
Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Acl $acl -Context $ctx
WARNING: To find the ACL Entry to remove, will only compare AccessControlType, DefaultScope and EntityId, will omit Permission.
FailedEntries :
TotalDirectoriesSuccessfulCount : 7
TotalFilesSuccessfulCount : 5
TotalFailureCount : 0
ContinuationToken :
Ez a parancs először létrehoz egy ACL-objektumot 2 acl-bejegyzéssel, majd rekurzív módon eltávolítja az ACL-t egy fájlrendszer gyökérkönyvtárából.
2. példa: Az ACL rekurzív eltávolítása egy könyvtárban
$result = Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -Context $ctx
WARNING: To find the ACL Entry to remove, will only compare AccessControlType, DefaultScope and EntityId, will omit Permission.
$result
FailedEntries : {dir1/dir2/file4}
TotalDirectoriesSuccessfulCount : 500
TotalFilesSuccessfulCount : 2500
TotalFailureCount : 1
ContinuationToken : VBaHi5TfyO2ai1wYTRhIL2FjbGNibjA2c3RmATAxRDVEN0UzRENFQzZCRTAvYWRsc3Rlc3QyATAxRDY2M0ZCQTZBN0JGQTkvZGlyMC9kaXIxL2ZpbGUzFgAAAA==
$result.FailedEntries
Name IsDirectory ErrorMessage
---- ----------- ------------
dir0/dir2/file4 False This request is not authorized to perform this operation using this permission.
# user need fix the failed item , then can resume with ContinuationToken
$result = Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -ContinuationToken $result.ContinuationToken -Context $ctx
WARNING: To find the ACL Entry to remove, will only compare AccessControlType, DefaultScope and EntityId, will omit Permission.
$result
FailedEntries :
TotalDirectoriesSuccessfulCount : 100
TotalFilesSuccessfulCount : 1000
TotalFailureCount : 0
ContinuationToken :
Ez a parancs először rekurzív módon eltávolítja az ACL-t egy könyvtárból, és sikertelen volt, majd a felhasználó által kijavított fájl kijavítása után folytassa a Folytatástokennel.
3. példa: Az ACL rekurzív adattömbök szerinti eltávolítása
Ez a szkript az ACL rekurzív módon eltávolítja az ACL-t a könyvtártömbökről, és az adattömb mérete BatchSize * MaxBatchCount lesz. Ebben a szkriptben az adattömb mérete 50000.
4. példa: Távolítsa el az ACL rekurzív módon egy könyvtárat és a ContinueOnFailure-t, majd folytassa a hibákat egyenként
$result = Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -ContinueOnFailure -Context $ctx
$result
FailedEntries : {dir0/dir1/file1, dir0/dir2/file4}
TotalDirectoriesSuccessfulCount : 100
TotalFilesSuccessfulCount : 500
TotalFailureCount : 2
ContinuationToken : VBaHi5TfyO2ai1wYTRhIL2FjbGNibjA2c3RmATAxRDVEN0UzRENFQzZCRTAvYWRsc3Rlc3QyATAxRDY2M0ZCQTZBN0JGQTkvZGlyMC9kaXIxL2ZpbGUzFgAAAA==
$result.FailedEntries
Name IsDirectory ErrorMessage
---- ----------- ------------
dir0/dir1/file1 False This request is not authorized to perform this operation using this permission.
dir0/dir2/file4 False This request is not authorized to perform this operation using this permission.
# user need fix the failed item , then can resume with ContinuationToken
foreach ($path in $result.FailedEntries.Name)
{
# user code to fix failed entry in $path
#set ACL again
Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path $path -Acl $acl -Context $ctx
}
Ez a parancs először rekurzív módon eltávolítja az ACL-t a ContinueOnFailure könyvtárból, és néhány elem sikertelen volt, majd egyenként folytatja a sikertelen elemeket.
Paraméterek
-Acl
A POSIX hozzáférés-vezérlési listája, amely rekurzívan be van állítva a fájlhoz vagy könyvtárhoz.
Folyamatból származó érték tulajdonságnév alapján:
False
Fennmaradó argumentumokból származó érték:
False
-BatchSize
Ha az adathalmaz mérete meghaladja a köteg méretét, a művelet több kérelemre lesz felosztva, hogy nyomon lehessen követni az előrehaladást.
A köteg méretének 1 és 2000 között kell lennie.
Az alapértelmezett érték 2000.
Folyamatból származó érték tulajdonságnév alapján:
False
Fennmaradó argumentumokból származó érték:
False
-ContinueOnFailure
Állítsa be ezt a paramétert úgy, hogy figyelmen kívül hagyja a hibákat, és folytassa a feldolgozást a művelettel a címtár más alentitásainál. Alapértelmezés szerint a művelet a hibák észlelésekor gyorsan leáll.
Folyamatból származó érték tulajdonságnév alapján:
False
Fennmaradó argumentumokból származó érték:
False
-MaxBatchCount
Az egyszeri hozzáférés-vezérlési művelet által végrehajtható kötegek maximális száma. Ha az adatkészlet mérete meghaladja a BatchSize maxBatchCount szorzását, a folytatási jogkivonatot a rendszer visszaadja.
Folyamatból származó érték tulajdonságnév alapján:
False
Fennmaradó argumentumokból származó érték:
False
-Path
Az Acl rekurzív módosításához megadott fájlrendszer elérési útja.
Fájl vagy könyvtár is lehet.
"directory/file.txt" vagy "directory1/directory2/" formátumban.
Ezt a paramétert hagyja ki úgy, hogy rekurzív módon módosítsa az Acl-t a fájlrendszer gyökérkönyvtárából.
Folyamatból származó érték tulajdonságnév alapján:
False
Fennmaradó argumentumokból származó érték:
False
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.