This script looks at a networkshare, retrieves directorynames and show which Groups/Users have access to that directory. cls # Ask for credentials $cred = Get-Credential # Connect PS drive New-PSDrive -Credential $cred -PSProvider Filesystem -Root \\netwerk-share\Data -Name "Netwerkdrive" #Create a new Excel object using COM $Excel = New-Object -ComObject Excel.Application $Excel.visible = $True $Excel = $Excel.Workbooks.Add() $Sheet = $Excel.Worksheets.Item(1) $intcol = 4 $intRow = 1 $path = "\\netwerk-share\data" $maindirectories = gci $path | ?{ $_.PSIsContainer }| select name $Sheet.Cells.Item($intRow,1) = "Directorystructure FileShare" $Sheet.Cells.Item($intRow,2) = "\\netwerk-share\Data" $intRow ++ foreach ($maindirectory in $maindirectories){ $Sheet.Cells.Item($intRow,1) = $maindirectory.name $Sheet.Cells.Item($intRow,1).Borders.Linestyle = 1 $Sheet.Cells.Item($intRow,1).Font.Bold=$True $subpath1 = $path + "\" + $maindirectory.Name $access1 = Get-Acl $subpath1 $rights = $access1.Access $intcol = 4 foreach ($item in $rights){ [string]$veld = $item.IdentityReference $veld = $veld.Replace("AD\","") $Sheet.Cells.Item($intRow,$intcol) = $veld $Sheet.Cells.Item($intRow,$intcol).Borders.Linestyle = 1 $intcol++ } $intRow++ $subdirectories1 = gci $subpath1 | ?{ $_.PSIsContainer }| select name foreach ($subdirectory1 in $subdirectories1){ $Sheet.Cells.Item($intRow,2) = $subdirectory1.name $Sheet.Cells.Item($intRow,2).Borders.Linestyle = 1 $subpath2 = $subpath1 + "\" + $subdirectory1.Name $access1 = Get-Acl $subpath2 $rights = $access1.Access $intcol = 4 foreach ($item in $rights){ [string]$veld = $item.IdentityReference $veld = $veld.Replace("AD\","") $Sheet.Cells.Item($intRow,$intcol) = $veld $Sheet.Cells.Item($intRow,$intcol).Borders.Linestyle = 1 $intcol++ } $subdirectories2 = gci $subpath2 | ?{ $_.PSIsContainer }| select name $intRow++ foreach ($subdirectory2 in $subdirectories2){ if ($subdirectories2) { $Sheet.Cells.Item($intRow,3) = $subdirectory2.name $Sheet.Cells.Item($intRow,3).Borders.Linestyle = 1 $Sheet.Cells.Item($intRow,3).Font.Italic=$True $subpath3 = $subpath2 + "\" + $subdirectory2.Name $access1 = Get-Acl $subpath3 $rights = $access1.Access $intcol = 4 foreach ($item in $rights){ [string]$veld = $item.IdentityReference $veld = $veld.Replace("AD\","") $Sheet.Cells.Item($intRow,$intcol) = $veld $Sheet.Cells.Item($intRow,$intcol).Borders.Linestyle = 1 $intcol++ } $intRow++ } } } $intRow++ } Remove-PSDrive -Name "Netwerkdrive" $Sheet.UsedRange.EntireColumn.AutoFit() |