具有Powershell文件夹的过时ACL

时间:2018-07-25 16:12:21

标签: powershell active-directory acl

我使用Powershell提取有关用户帐户的数据,其中一些数据包含有关用户主文件夹的详细信息。

我一直在对文件夹使用get-item来获取ACL,以确保用户可以正确访问其主文件夹。 我的代码示例是:

((get-item C:\exampleFolder).GetAccessControl('access')).Access

这为我提供了我需要的列表,并且效果很好。但是,如果用户的用户名更改了,即使查看文件夹的属性几乎立即即可反映出更改,Powershell仍需要一些时间(例如5至10分钟)才能看到更改。

我只是在查看是否有更好的方法来提取ACL数据,以便在文件夹属性页面中看到的内容就是Powershell所得到的。

对我来说,真的是第一世界问题,只是试图使我的代码更有效率。

编辑:这是通过Active Directory在域中更改用户名,而不是在本地计算机上更改用户名。

1 个答案:

答案 0 :(得分:0)

有一个Get-ACL Cmdlet。这将输出一个具有Access属性的对象,该对象列出了所有具有Access及其访问级别的用户。

如果愿意,可以使用此函数来获取更明确的数据,如下所示:

gcc ``gnustep-config --objc-flags --gui-libs`` -o main main.m -L /usr/include/GNUstep/ -lobjc -lgnustep-base -lgnustep-gui

您可以轻松地将其传输到 function Get-Permissions ($folder) { (get-acl $folder).access | select ` @{Label="Identity";Expression={$_.IdentityReference}}, ` @{Label="Right";Expression={$_.FileSystemRights}}, ` @{Label="Access";Expression={$_.AccessControlType}}, ` @{Label="Inherited";Expression={$_.IsInherited}}, ` @{Label="Inheritance Flags";Expression={$_.InheritanceFlags}}, ` @{Label="Propagation Flags";Expression={$_.PropagationFlags}} } 上,也可以通过视觉方式消耗您的输出。