Schranz 10 Geschrieben 27. Februar 2012 Melden Teilen 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 28. Februar 2012 Melden Teilen 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 Zitieren Link zu diesem Kommentar
magman 10 Geschrieben 28. Februar 2012 Melden Teilen Geschrieben 28. Februar 2012 Hier meine Idee zu deinem Problem get-acl C:\testacl | foreach{$_.access} |Where{$_.IdentityReference -eq "Gruppe"} Gruß Martin Zitieren Link zu diesem Kommentar
Schranz 10 Geschrieben 28. Februar 2012 Autor Melden Teilen 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!? Zitieren Link zu diesem Kommentar
Schranz 10 Geschrieben 28. Februar 2012 Autor Melden Teilen Geschrieben 28. Februar 2012 Tausche -contains mit -like und........ Zeit fürn den ersten Kaffee nachm Mittag. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.