2017-05-24 138 views
0


最近使用powershell
不知道是否有人知道某種方式來顯示用戶允許的文件夾。powershell列表權限用戶+文件夾

我得到直到

GET-ADPrincipalGroupMembership用戶名|選擇名稱

但我只是得到的組,沒有文件夾,如果用戶分配到一個文件夾沒有組,它不能被看到。

即時搜索能夠快速找到一個用戶的文件服務器上的所有權限。

對不起,我的英語。 謝謝。

回答

0

您必須遍歷所有文件夾和文件,並檢查其權限是否包含您要查找的用戶名。

像這樣:

$items = Get-Childitem C:\Temp 

這使您的文件和文件夾,然後你就可以傳遞給GetAccessControl方法的對象 物體看起來是這樣的:

Mode    LastWriteTime   Length Name 
----    -------------   ------ ---- 
d-----  24-05-2017  10:06    test 
-a----  23-05-2017  14:55    97 test.csv 

現在,你可以使用GetAccessControl方法使用您的$ items對象,如下所示:

$items.GetAccessControl() | select -ExpandProperty Access 

再次,這將返回一個對象,其中包含您指定的路徑中每個文件夾的NTFS文件權限。

這將是這樣的:

FileSystemRights : FullControl 
AccessControlType : Allow 
IdentityReference : Domain\User 
IsInherited  : True 
InheritanceFlags : ContainerInherit, ObjectInherit 
PropagationFlags : None 

嘗試和玩此信息,並看看是否可以在一個工作示例開始,爲社會幫助調試:)

請保留原文中的回覆。吮吸,我們不能只評論... 但是,是啊,你看到的是當前文件(管道中)的NTFS訪問控制列表中提到的所有用戶/組。 請記住,您可以訪問個別行的對象,以使您的搜索更容易。 像這樣:

$ Test [0] .IdentityReference 會爲$ Test數組中的第一個條目產生「domain/user」。 所以,你會循環使用foreach對象的所有條目,或者

foreach($item in $test){ 
#Code here 
# if($item.IdentityReference -eq $UserImLookingfor){Write-host "Match! -fo green" } 
$i++ 
}