Schranz 10 Geschrieben 27. Februar 2012 Melden Geschrieben 27. Februar 2012 Moinm ich möchte eine Liste von Ordnern durchgehen und mit denen etwas machen. Was genau ist für das Problem nicht wichtig. Dabei soll das Skript Ordner übergehen, auf die der Ausführende keine Rechte hat. Idee ist folgende: $rights = get-acl $foldername | Where { $.Access -like "domain.local\technikgruppe123"} (pseudocode ab hier) if $rights = 0 goto end of schleifendurchlauf Und dann mit diesem Ergebnis weiter zu arbeiten. Nur leider steht kein Ergebnis in $rights. Eine Suche nach get-acl im Forum ergab 0 Treffer :cool: gruß, schranz
blub 115 Geschrieben 28. Februar 2012 Melden Geschrieben 28. Februar 2012 Hallo, ganz so einfach ist selbst die Powershell dann doch nicht ;) $FolderPath="c:\temp" $IdentityRef = "domain.local\technikgruppe123" #User oder Group $ACL = (Get-Acl $FolderPath).Access if (($ACL.Access | where {$_.IdentityReference -eq $IdentityRef}) -eq $null){ "testcode" } Hier sind vielleicht ein paar interessante Beispiele für dich dabei. PowerShell - Datei- und Verzeichnisberechtigungen - PowerShellPraxis.de blub
magman 10 Geschrieben 28. Februar 2012 Melden Geschrieben 28. Februar 2012 Hier meine Idee zu deinem Problem get-acl C:\testacl | foreach{$_.access} |Where{$_.IdentityReference -eq "Gruppe"} Gruß Martin
Schranz 10 Geschrieben 28. Februar 2012 Autor Melden Geschrieben 28. Februar 2012 Klingt ja schonmal gut. Ich habe meinen Lösungsansatz allerdings fast fertig. Ich werde ihn dann posten. Eure Ergebnisse haben aber trotzdem Verwendung gefunden :D Eine Frage habe ich aber noch: $folderarray = @() $folderrights = @() $folderrights = @(.\[url="http://technet.microsoft.com/en-us/sysinternals/bb664922"]accesschk[/url] -q -w Administratoren \\Server\freigabe\Folder\) $foldersource = "\\Server\freigabe\Folder" #Pfad des Ordners "array geschrieben" $folderarray = get-childitem $foldersource | Where-Object { $_.mode -like "d*" } | % { $_.name } #Array mit den Foldernamen füllen und Dateinen ignorieren #Ich weiss es geht einfacher, wird auch noch umgesetzt foreach ( $folder in $folderarray ) #Schleife die die Größe jedes einzelnen Ordners ausgibt { $folderrights $folder [color="Red"]if ($folderrights -contains "*$folder")[/color] # hier harkt es { "$folder ja" } else { "$folder Nein" } } $folderrights RW \\Server\freigabe\Folder\Folder1 RW \\Server\freigabe\Folder\Folder2 RW \\Server\freigabe\Folder\Folder3 $folderarray Folder1 Folder2 Folder3 Wie bekomme ich die beiden Arrays sinnvoll verglichen!?
Schranz 10 Geschrieben 28. Februar 2012 Autor Melden Geschrieben 28. Februar 2012 Tausche -contains mit -like und........ Zeit fürn den ersten Kaffee nachm Mittag.
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