我在这里看到了一些与格式化get-acl输出有关的代码,因为从它的外观来看,不建议用一个问题来回答我开始一个新线程。 我有几个AD组嵌套在一些本地安全组中,其中包括tom和dom。我想扩大当地人向我展示他们的会员团体。我不关心组内的用户。有人可以提出一种做法吗? 我想用GET-CimInstance,但是这似乎是通过给一组特定的名称,其中在我的情况下,我宁愿用什么从我走到这一步,Get-ACL和嵌套组
$folders = dir c:\drv -recurse | where {$_.psiscontainer -eq $true}
$folders |
foreach-object{
Get-Acl | Select-Object -ExpandProperty Access | where {$_.identityreference -match "tom|dom"} |
Select-Object @{n="object";e={ $folder.fullname }},
@{n="security_principal";e={ $_.identityreference }},
@{n="type";e={ $_.accesscontroltype }},
@{n="rights";e={ $_.filesystemrights }}
} | ft -AutoSize
因此,最好回来进行筛选如果security_principal出现的情况被分解为我的组的成员,并且如果仅显示包含某些通配符的成员组,则更好。在代码运行的其余部分运行之前,获取2个组和列出其成员可能会更容易,但是我再次遇到使用get-CimInstance并且不知道其他方式的问题。
一种不同的方法(基于另一个线程)让我更接近我所需要的 – yaro137
'设置位置c:\ DRV GET-ChildItem * -Recurse $文件夹= GET-ChildItem -recurse | {$ _。psiscontainer -eq $ true} foreach($文件夹位于$文件夹中){ $ folder.FullName $ acl = Get-Acl $ folder.FullName $ acl | Select-Object -ExpandProperty Access |其中{$ _。identityreference-like“* Adm *”} | Select-Object @ {n =“object”; e = {$ folder.fullname}}, @ {n =“security_principal”; e = {$ _。identityreference}}, @ {n =“type”; e = {$ _。accesscontroltype}}, @ {n =“rights”; e = {$ _。filesystemrights.tostring()}} fl | Out-file c:\ test.txt -Append }' – yaro137
对不起,格式不正确。 '代码'本来是要做的... – yaro137