onsdag 16 maj 2012

Inventera katalogstrukturer efter grupp/användar-rättigheter.

En kollega till mig behövde hitta alla delade kataloger som en specifik grupp hade rättigheter till. Jag skrev detta skript som letar igenom filstrukturer och visar vart gruppen har rättigheter.

För att skriptet ska fungerar krävs ett infil med vilka kataloger som ska sökas igenom.

Uppdatera $FileShares variabeln till vart du har din fil med kataloger som ska sökas igenom.
Uppdatera $Grp variabeln till vilken grupp du söker efter.

Lycka till. 

--- Exempel: share.txt ----

\\fileserver1\homefolders
\\fileserver2\groupfolders



---- Skript: GrpSearch.ps1  ----

<#
  Titel: GrpSearch.ps1
  Beskrivning: Söker efter rättigheter på kataloger.
 Av: Jimmy Benandex

#>


# Uppdatera dessa variabler.
$FileShares = "C:\temp\shares.txt"
$Grp = "LAB\Domain Users"

function Check-missing ($acl) {
    $users = $acl.Access | select IdentityReference -Unique
    $ac = $users | % {$_.IdentityReference.value}
 if ($ac -contains $Grp ) {$acl.psPath | Convert-path}
 }

Function Check-Folder ($fol){
 Process {
  check-missing $_
  $sPath = $_.psPath | Convert-path
  dir $sPath | Where {$_.psIsContainer -eq $true} |
        foreach {get-acl $_.pspath | Check-Folder}
  }
 }

gc $FileShares | % {
 $tmp = Get-Acl $_
 $tmp | Check-Folder
 }

Inga kommentarer:

Skicka en kommentar