2016-05-26 9 views
0

私は現在、フォルダやその中のすべてのフォルダ(再帰的)のアクセス許可を取得するスクリプトを持っています。Powershell - フォルダのアクセス許可を見つけてグループを展開するメンバー

$OutFile = "C:\temp\Permissions.csv" 
$Header = "Folder Path,IdentityReference,AccessControlType,IsInherited,InheritanceFlags,PropagationFlags" 
Del $OutFile 
Add-Content -Value $Header -Path $OutFile 

$RootPath = "\\Fileshare\Folder" 

$Folders = dir $RootPath -recurse | where {$_.psiscontainer -eq $true} 

foreach ($Folder in $Folders){ 
    $ACLs = get-acl $Folder.fullname | ForEach-Object { $_.Access } 
    Foreach ($ACL in $ACLs){ 
    $OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference + "," + $ACL.AccessControlType + "," + $ACL.IsInherited + "," + $ACL.InheritanceFlags + "," + $ACL.PropagationFlags 
    Add-Content -Value $OutInfo -Path $OutFile 
    }} 

この部分は大丈夫です。私は、フォルダーのアクセス許可に記載されているグループのいずれかのメンバーをつかんで、そのグループのメンバーをつかみ、グループごとにExcelで別のシートを作成するスクリプトを作成したいと考えています。シートはグループの名前になり、そのシートの中にはそのグループのメンバーが入ります。

誰でもこれを行う方法についてどのような指針がありますか?

ありがとうございます。一般的な指針として

SG

答えて

1

  1. あなたはADSIの特殊なアダプタを使用してActive Directoryモジュール、またはクエリを利用するためにどちらかが必要になります、ドメインのグループのメンバー情報を取得します。
  2. また、ローカルOSグループにヒットする可能性があり、 `net localgroup 'のようなものを使うことができると考えてください。 Examples here for PowerShell.
関連する問題