如何使用get-acl powershell获得确切的权限?
我对一个在powershell中使用get acl并将其导出到文件的脚本有异议。 我试图做的是从文件服务器中导出具有ISInhered标志Flase的所有权限。这一部分工作得很好,但我只能在这些文件夹上获得允许或拒绝类型。我需要的是知道给定文件夹的确切权限。该用户是否允许读、写、执行等。以下是我所做工作的完整代码:如何使用get-acl powershell获得确切的权限?,powershell,Powershell,我对一个在powershell中使用get acl并将其导出到文件的脚本有异议。 我试图做的是从文件服务器中导出具有ISInhered标志Flase的所有权限。这一部分工作得很好,但我只能在这些文件夹上获得允许或拒绝类型。我需要的是知道给定文件夹的确切权限。该用户是否允许读、写、执行等。以下是我所做工作的完整代码: $OutFile = "C:\install\powershell\Permissions.txt" $Header = "Folder Path,IdentityReference
$OutFile = "C:\install\powershell\Permissions.txt"
$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags"
Del $OutFile
Add-Content -Value $Header -Path $OutFile
$RootPath = "C:\install\powershell\"
$Folders = dir $RootPath -recurse | where {$_.psiscontainer -eq $true}
foreach ($Folder in $Folders){
$ACLs = get-acl $Folder.fullname | ForEach-Object { $_.Access }
Foreach ($ACL in $ACLs){
if ($ACL.IsInherited -eq $false){
$OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference + "," + $ACL.AccessControlType + "," + $ACL.IsInherited + "," + $ACL.InheritanceFlags + "," + $ACL.PropagationFlags
Add-Content -Value $OutInfo -Path $OutFile
}}}
所以我的问题是:如何添加$ACL。以获取确切的权限级别。有可能吗?
如何获取某种类型的对象列表,以便解析ACLs?
如果我错误地解释了我的问题或问题已经得到解答,我
m很抱歉,但由于今天是我使用powershell的第一天,我可能不知道如何正确搜索答案
致以最良好的祝愿
UPD:看来我可以试着玩$ACL.FileSystemRights。如果这篇文章给了我想要的,我会更新它。
UPD2:是的,似乎我必须在$Header中添加FileSystemRights,在$OutInfo中添加“+$ACL.FileSystemRights+”
对不起打扰了!但这可能会帮助某人得到他们需要的东西!:) 希望将recurse设置为特定的深度。 找到了一个解决方案:使用“*”而不是-recurse。 对于2级深:“**”等。 资料来源:
Thanx.答案的链接可能会随着时间的推移而改变。你能在这里为你的潜在解决方案记录相关代码吗?