Auf welche Ordner hat eine Grupe XYZ Berechtigungen?
Hallo,
mal angenommen, es gibt im AD eine Grupe XYZ. Wie kann ich elegant ermitteln, auf welche Ordner im Filesestem eines W2003/W2008 - Servers diese Gruppe Rechte hat? Möglichst als Einzeiler pro Ordner. Dateirechte sind uninteressant.
mal angenommen, es gibt im AD eine Grupe XYZ. Wie kann ich elegant ermitteln, auf welche Ordner im Filesestem eines W2003/W2008 - Servers diese Gruppe Rechte hat? Möglichst als Einzeiler pro Ordner. Dateirechte sind uninteressant.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 226237
Url: https://administrator.de/contentid/226237
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo hf1965,
hatten wir bereits: Verzeichnisse auf denen Jeder o. everyone berechtigt ist via Script ausfindig machen und auflisten.
das Powershell-Script im Beitrag lässt sich auch so anpassen das nur Ordner gelistet werden (durchläuft Ordner rekursiv, und listet per Default nur Ordner bei denen das entsprechende Recht gesetzt wurde; wenn das nicht gewollt ist, muss in Zeile 9 das -and $rule.IsInherited -eq $false entfernt werden):
Ansonsten gibt es hier auch noch ein Freeware-Tool für die MMC, das die NTFS-Rechte auflisten und entsprechend filtern kann: NTFS Permissions Explorer
Bei dem Tool gibt es zu beachten das die Installationsanleitung für 32-Bit-Systeme geschrieben wurde. Auf einem 64-Bit-System muss man die DLL ins Verzeichnis "C:\Windows\system32" kopieren und dann noch folgenden Befehl ausführen:
Grüße Uwe
hatten wir bereits: Verzeichnisse auf denen Jeder o. everyone berechtigt ist via Script ausfindig machen und auflisten.
das Powershell-Script im Beitrag lässt sich auch so anpassen das nur Ordner gelistet werden (durchläuft Ordner rekursiv, und listet per Default nur Ordner bei denen das entsprechende Recht gesetzt wurde; wenn das nicht gewollt ist, muss in Zeile 9 das -and $rule.IsInherited -eq $false entfernt werden):
$suchordner = "\\SERVER\Freigabe"
$suchgruppe = "DOMAIN\Gruppe"
$objects = Get-ChildItem -Path $suchordner -Recurse | ?{$_.PSIsContainer}
$arrPerm = @()
foreach ($obj in $objects){
$rules = (get-acl $obj.FullName).Access
foreach($rule in $rules){
if ($rule.IdentityReference -like $suchgruppe -and $rule.IsInherited -eq $false){
$arrPerm += New-Object PSObject -Property @{Ordner=$obj.FullName;Identity=$rule.IdentityReference;Typ=$rule.AccessControlType;Rechte=$rule.FileSystemRights;Vererbt=$rule.IsInherited}
}
}
}
$arrPerm | ft Ordner,Identity,Typ,Rechte,Vererbt
Ansonsten gibt es hier auch noch ein Freeware-Tool für die MMC, das die NTFS-Rechte auflisten und entsprechend filtern kann: NTFS Permissions Explorer
Bei dem Tool gibt es zu beachten das die Installationsanleitung für 32-Bit-Systeme geschrieben wurde. Auf einem 64-Bit-System muss man die DLL ins Verzeichnis "C:\Windows\system32" kopieren und dann noch folgenden Befehl ausführen:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe -i C:\WINDOWS\System32\NTFSPermissionsExplorer.dll
. Danach kann man sich das Tool in einer MMC als Snap-In laden.Grüße Uwe
Im jetzigen Zustand nur auf der Powershell-Konsole als Tabelle.
les mal den Ursprungspost und unbedingt die Hinweise. Im jetzigen Zustand werden nur explizite zugewiesene Rechte aufgelistet und keine vererbten.
wenn du willst auch als CSV:
Kann man das ganze, wenn was rauskommt auch in eine Datei speichern?
sicher, wenn du die letzte Zeile so abänderst:$arrPerm | ft Ordner,Identity,Typ,Rechte,Vererbt -AutoSize -Wrap | out-string | set-content "C:\log.txt"
$arrPerm | export-csv 'c:\export.csv' -Delimiter ";" -NoType