Jump to content

Fileberechtigung einer Gruppe auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

wir räumen gerade unsere AD ein wenig auf. Jetzt haben wir ein paar Gruppen gefunden, zu denen wir kein Verzeichnis auf dem Filesystem mehr finden können.

 

GIbt es eine Möglichkeit auszulesen, ob und auf welches Verezichnis eine Gruppe Schreib/Leserechte hat ?

 

Wäre super wenn wir das irgendwie auslesen könnten, um sicher zu gehen, dass die Gruppe überflüssig ist.

 

 

Danke schon einmal

 

Gruß Kuddel

Link zu diesem Kommentar

Okay. Danke schonmal. Wenn ich jetzt unter ./paths.txt einen Pfad angebe, bekomme ich angezeigt welche Gruppe Berechtigungen auf die Verzeichnisse haben. Auch nützlich, aber nicht das, was ich eigentlich suche.

 

Mir schwebt ein Script vor, wo ich nach eine Gruppe gefragt werde wie z.B. "Personalabteilung-RW" und bekomme als Ergebnis, dass die Gruppe Schreibrechte auf das Verzeichnis "Personalabteilung" hat

Link zu diesem Kommentar

Da das Script rekursiv durch die Verzeichnisse läuft, könntest ja als Pfad einfach z.B. D:\ angeben. Dann noch bissle umbauen, dass da nicht für jeden Pfad ne CSV-Datei erzeigt wird und beim "acl.access" ins Where noch die IdentityReference filtern auf Deine Gruppe...

Allerdings würde ich an Deiner Stelle tatsächlich einfach mal alles auslesen in eine große CSV und dann mit Excel-Bordmitteln darin nach Deinen Gruppen suchen...

Link zu diesem Kommentar

Da das Script rekursiv durch die Verzeichnisse läuft, könntest ja als Pfad einfach z.B. D:\ angeben. Dann noch bissle umbauen, dass da nicht für jeden Pfad ne CSV-Datei erzeigt wird und beim "acl.access" ins Where noch die IdentityReference filtern auf Deine Gruppe...

Allerdings würde ich an Deiner Stelle tatsächlich einfach mal alles auslesen in eine große CSV und dann mit Excel-Bordmitteln darin nach Deinen Gruppen suchen...

Hallo Cyberquest. Danke für die Antwort.

 

Leider bin ich noch ein total Anfänger was PowerShell angeht, da wir gerade erst unser Novell eDiretory zu MS AD migriert haben.

 

Ich bräuchte dann noch ein wenig Hilfe bei der Anpassung des Scripts

Link zu diesem Kommentar
$CsvFile = "C:\D_LW.csv"
$Path= "D:\"

"Path;Identity;Rights" | Out-File $CsvFile

Get-ChildItem $Path -Recurse | where {$_.PsIsContainer} | foreach{
   $FullName = $_.FullName
   $ACLs= @((Get-ACL $_.FullName).Access) | sort
   $ACLs | Where-Object {$_.IsInherited -eq $false} | foreach{
      $Identity=$_.IdentityReference
      $FileSystemRights=$_.FileSystemRights
      "$FullName;$Identity;$FileSystemRights" | Out-File $CsvFile -Append
    }
}

Zum Testen bei Path evtl erst mal nicht gleich mit D:\ anfangen sondern ein Verzeichnis. Könnte sonst recht lange laufen...

bearbeitet von Cybquest
Link zu diesem Kommentar

Also bis jetzt bin ich so weit

 

 

Write-Host "Pfad zur Auswertung angeben"
Write-Host ""
Write-Host "Beispiel: \\DOMAIN\DFS\PFAD"
Write-Host ""

#Eingabe des Pfades
$Path = Read-Host "Eingabe"

#Speichern des Ergebnisses in einer CSV-Datei
Function Get-SaveFile($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null

$SaveFileDialog = New-Object System.Windows.Forms.SaveFileDialog
$SaveFileDialog.initialDirectory = $initialDirectory
$SaveFileDialog.filter = "CSVFile (*.csv)| *.csv"
$SaveFileDialog.ShowDialog() | Out-Null
$SaveFileDialog.filename
}

# open dialog box to select the .nessuss file.
$CsvFile = Get-SaveFile

"Path;Identity;Rights" | Out-File $CsvFile

Get-ChildItem $Path -Recurse | where {$_.PsIsContainer} | foreach{
   $FullName = $_.FullName
   $ACLs= @((Get-ACL $_.FullName).Access) | sort
   $ACLs | Where-Object {$_.IsInherited -eq $false} | foreach{
      $Identity=$_.IdentityReference
      $FileSystemRights=$_.FileSystemRights
      "$FullName;$Identity;$FileSystemRights" | Out-File $CsvFile -Append
    }
}

 

Funktioniert, ist nur leider ein wenig umständlich, weil:

1. Ich muss danach noch die CSV-Datei nach meiner Gruppe dursuchen

2. Es kann dauern, wenn ich alle Ordner eines kompletten Standortes durchsuchen

 

Vllt hat ja noch jmd eine Idee wie ich mein Problem evtl besser lösen kann

Link zu diesem Kommentar

Moin,

 

mach so etwas immer nur lokal, nicht über das Netzwerk. Und: Schau, ob du etwas findest, was effizienter und performanter arbeitet als PowerShell. Die PowerShell ist prima, weil flexibel - aber sie ist ganz sicher nicht schnell.

 

Ich weiß nicht, ob dies hier noch funktioniert:

 

[Wie kann ich Berechtigungen dokumentieren? | faq-o-matic.net]
http://www.faq-o-matic.net/2004/09/10/wie-kann-ich-berechtigungen-dokumentieren/

 

Auch SetACL solltest du dir dafür ansehen:

 

[setACL Command Line-Version (SetACL.exe) - Syntax and Description]
https://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/
 

Gruß, Nils

Link zu diesem Kommentar

...und zu guter Letzt geht es auch - ganz trivial - mit icacls /save - da stehen dann zwar nur SIDs in SDDL drin, aber um Ressourcen zu finden, für die eine Gruppe berechtigt ist, reicht das allemal.

Naja, den Gruppennamen kann man auch auslesen:

 

http://www.faq-o-matic.net/2004/09/10/wie-kann-ich-zu-einem-namen-den-sid-security-identifier-herausfinden/

http://joeware.net/freetools/tools/sidtoname/index.htm

 

Und per Powershell: http://blogs.msmvps.com/ad/blog/2010/10/07/using-powershell-to-resolve-sids-to-friendly-names-2/

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...