我正在尝试使用Powershell收集对csv文件的文件夹权限。我的问题是我需要结果同时包含SamAccountName和FileSystemRights。
我尝试了两种不同的方法。我首先想到的是一种简单的方法,它为我提供了IdentityReference和FileSystemRights,但是我找不到任何可以从IdentityReference获取SamAccountName的工作方法。 我在互联网上发现的第二个要复杂得多。它会收集所有有权访问该文件夹的帐户,但不会显示FileSystemRights,而且我不知道该如何更改。
我自己的解决方案
(Get-Acl "FolderPath").Access | Select-Object IdentityReference, FileSystemRights
我找到的解决方案
Get-Acl $UncPath | Select-Object -ExpandProperty Access | Where-Object { (-not $_.IsInherited) -and ('NT AUTHORITY\SYSTEM','BUILTIN\Administrators','CREATOR OWNER' -notcontains $_.IdentityReference) } | Select-Object -ExpandProperty IdentityReference | ForEach-Object { $_.Translate('System.Security.Principal.SecurityIdentifier').Value } | Get-ADGroup -ErrorAction SilentlyContinue | get-adgroupmember | select-object SamAccountName | Format-Table | Out-String
有什么可行的方法可以使我看到SamAccountName和FileSystemRights的结果?
谢谢。
答案 0 :(得分:0)
MyProject/
/target1
/Some stuff
/CMakeLists.txt // here add_executable(target1 main.c)
/target2
/target3
...
CMakeLists.txt // root CMakeLists.txt file
/build // folder for build files
检查$ everyone变量,它将包含3列:ACL中的身份,sAMAccountName和文件系统权限。