Micha1985 Geschrieben 16. Februar 2024 Geschrieben 16. Februar 2024 Hallo zusammen, mit welchen Powershell Befehl kann ich NTFS-Ordnerberechtigungen abfragen? Ich habe im AD eine Sicherheitsgruppe SG_Einkauf. Ich benötige einen PowerShell Befehl, womit ich auslesen kann, wo die SG_Einkauf überall berechtigt ist. Vielen Dank für eure schnelle Hilfe .
Wissenshungriger Geschrieben 16. Februar 2024 Geschrieben 16. Februar 2024 Probiere es mal damit # Definieren des Startverzeichnisses $startDirectory = "C:\PfadZumStartverzeichnis" # Definieren des Sicherheitsgruppennamens $securityGroupName = "SG_Einkauf" # Durchsuchen aller Verzeichnisse ab dem Startverzeichnis, Fehler unterdrücken für nicht zugreifbare Verzeichnisse $directories = Get-ChildItem -Directory -Path $startDirectory -Recurse -ErrorAction SilentlyContinue foreach ($directory in $directories) { $path = $directory.FullName # Versuchen, die ACL des Verzeichnisses abzurufen try { $acl = Get-Acl -Path $path # Filtern der ACL-Einträge auf die Ziel-Sicherheitsgruppe $relevantAcls = $acl.Access | Where-Object { $_.IdentityReference -like "*$securityGroupName*" } if ($relevantAcls) { foreach ($relevantAcl in $relevantAcls) { # Prüfen, ob die ACL-Einträge für die Sicherheitsgruppe relevant sind if ($relevantAcl) { Write-Host "Berechtigung gefunden in: $path" # Optional: Ausgeben der Berechtigungsart Write-Host "Berechtigungsart: $($relevantAcl.FileSystemRights)" break # Stoppt die Schleife nach dem ersten relevanten Eintrag } } } } catch { # Fehlerbehandlung für den Fall, dass beim Abrufen der ACL ein Fehler auftritt Write-Warning "Zugriff auf ACL von $path nicht möglich." } } BurningBeard reagierte darauf 1
Micha1985 Geschrieben 21. Februar 2024 Autor Geschrieben 21. Februar 2024 Hallo, vielen Dank für das ausführliche Script. Ich habe das Script mehrere Male auf unseren Dateiserver ausgeführt. Ich bekomme gleich nach dem ausführen des Scripts folgende zwei Meldungen: F:\Shares : Die Benennung "F:\Shares" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang. In Zeile:2 Zeichen:19 + $startDirectory = F:\Shares + ~~~~~~~~~ + CategoryInfo : ObjectNotFound: (F:\Shares:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException und SG_WS_rw : Die Benennung "SG_WS_rw" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang. In Zeile:5 Zeichen:22 + $securityGroupName = SG_WS_rw + ~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (SG_WS_rw:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException Wo liegt der Fehler? Mit freundlichen Grüßen Michael
Maniska Geschrieben 22. Februar 2024 Geschrieben 22. Februar 2024 Anführungszeichen vergessen oder die Falschen verwendet?
Micha1985 Geschrieben 22. Februar 2024 Autor Geschrieben 22. Februar 2024 Servus, was heißt denn die falschen? "SG_Einkauf" oder SG_Einkauf ? Wie muss der Pfad im Script eingetragen sein? Mit Anführungszeichen oder ohne? $startDirectory = "C:\PfadZumStartverzeichnis" Sehe gerade den Wald vor lauter Bäumen nicht. Grüße
BurningBeard Geschrieben 22. Februar 2024 Geschrieben 22. Februar 2024 Moin, bei Powershell gibt es z.B. einen Unterschied zwischen "Anführungszeichen" und 'Anführungszeichen' Siehe als Beispiel hier eine Erläuterung dazu. https://pascal-korz.de/blog/2021/05/22/powershell-fallen-5-doppelte-einfache-maskierte-anfuehrungszeichen/ Mit freundlichen Grüßen
Micha1985 Geschrieben 22. Februar 2024 Autor Geschrieben 22. Februar 2024 Es waren diese Anführungszeichen --> 'Anführungszeichen' . So läuft das Script perfekt und ohne Fehler.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden