schreckinger 10 Geschrieben 21. März 2012 Melden Teilen Geschrieben 21. März 2012 Hallo Leute. Ich soll einen Rechte abgleich 2er Ordner machen. Diese dann ausgeben in einer Liste. Dann sollte er noch prüfen ob diese Aktuell sind also wiederum ein Abgleich mit dem System. Clear-Host $TestPath = "C:\sqltest1" dir $TestPath -recurse | where {$_.PsIsContainer} | Get-Acl | Format-Table path,owner,accesstostring | Export-csv "C:\sqltest1\excel.csv" Das Problem darn ist das mir das Excel leer bleibt ? Hat jemand ein Idee dazu und hat wer einen Denkanstoß wie man den Abgleich mit System macht ? Danke nochmals ans Forum Zitieren Link zu diesem Kommentar
MichaTo 10 Geschrieben 22. März 2012 Melden Teilen Geschrieben 22. März 2012 Hallo, dein Script läuft bei mir ohne Probleme. Inhalt wird auch als CSV in Excel dargestellt. Wie sieht denn deine Ausgabe aus, wenn du das Export-CSV am Ende mal weglässt? Auch wenn es ein wenig mehr Code ist, vielleicht schaust du dir das hier mal an. Gruß Micha Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 23. März 2012 Melden Teilen Geschrieben 23. März 2012 Bei mir seiht das Result so aus: #TYPE Microsoft.PowerShell.Commands.Internal.Format.FormatStartData"ClassId2e4f51ef21dd47e99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo","shapeInfo","groupingEntry" "033ecb2bc07a4d43b5ef94ed5a35d280",,,,"Microsoft.PowerShell.Commands.Internal.Format.TableHeaderInfo", "9e210fe47d09416682b841769c78b8a3",,,,, "27c87ef9bbda4f709f6b4002fa4af63c",,,,, "4ec4f0187cb04f4cb6973460dfe252df",,,,, "cf522b78d86c486691226b40aa69e95c",,,,, Zitieren Link zu diesem Kommentar
schreckinger 10 Geschrieben 23. März 2012 Autor Melden Teilen Geschrieben 23. März 2012 das Result ist bei mir ähnlich aus ? aber mit diesen Werten kann ich leider nichts anfangen ? muss ich mir wahrscheinlich mit sort-object die Anzeige zurecht legen oder ? Danke Zitieren Link zu diesem Kommentar
ducke 11 Geschrieben 23. März 2012 Melden Teilen Geschrieben 23. März 2012 Versuche es mal mit dem Script: $TestPath = "C:\sqltest1" dir $TestPath -Recurse | %{ get-acl $_.FullName} | %{ $_.access} | %{ $_ | Select-Object @{ n="name";e={$obj.fullname}},@{ n="security_principal";e={$_.identityreference}},@{ n="type";e={$_.accesscontroltype}},@{ n="rights";e={$_.filesystemrights}}} | Export-Csv "C:\sqltest1\excel.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8 Format-Table benötigst du nicht und mit AccessToString bekommst du keine gescheite Formatierung hin (nur mit einigem gefummel). Ist auch nicht meine Lösung, sondern habe ich hier her Zitieren Link zu diesem Kommentar
schreckinger 10 Geschrieben 23. März 2012 Autor Melden Teilen Geschrieben 23. März 2012 ducke danke :) es funktioniert , eine Frage dazu. ich bekomme eine Extrem Lange liste ? Aber wenn ich mir die Berechtigungen ansehe sehe ich nur das 2 Benutzer zugriff auf den Ornder haben ? Wie kann das sein ? Oder wird hier jede Datei auch auchgelistet ? ERSTELLER-BESITZER Allow VORDEFINIERT\Users Allow VORDEFINIERT\Users Allow VORDEFINIERT\Users Allow VORDEFINIERT\Administrators Allow NT-AUTORITÄT\SYSTEM Allow LUI\user1 Allow VORDEFINIERT\Users Allow VORDEFINIERT\Administrators Allow NT-AUTORITÄT\SYSTEM Allow LUI\User1 Allow VORDEFINIERT\Users Allow Zitieren Link zu diesem Kommentar
schreckinger 10 Geschrieben 23. März 2012 Autor Melden Teilen Geschrieben 23. März 2012 Versuche es mal mit dem Script: $TestPath = "C:\sqltest1" dir $TestPath -Recurse | %{ get-acl $_.FullName} | %{ $_.access} | %{ $_ | Select-Object @{ n="name";e={$obj.fullname}},@{ n="security_principal";e={$_.identityreference}},@{ n="type";e={$_.accesscontroltype}},@{ n="rights";e={$_.filesystemrights}}} | Export-Csv "C:\sqltest1\excel.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8 Frage zum Script..... für das steht das n= danke Zitieren Link zu diesem Kommentar
ducke 11 Geschrieben 28. März 2012 Melden Teilen Geschrieben 28. März 2012 Sorry für die späte Rückmeldung, aber im Moment habe ich etwas Stress auf der Arbeit. Ich musste das Script nochmal anpassen. Da war ein kleiner Fehler drin :( Habe den Pfadnamen nicht richtig mitgegeben. $TestPath = "C:\sqltest1" dir $TestPath -Recurse | %{ get-acl $_.FullName} | %{ $pfad = New-Object psobject $pfad | Add-Member -MemberType NoteProperty -Name "Name" -Value (($_.Path -split "::")[1]); $_.access} | %{ $_ } | Select-Object @{ n="name";e={$pfad.Name}},@{ n="security_principal";e={$_.identityreference}},@{ n="type";e={$_.accesscontroltype}},@{ n="rights";e={$_.filesystemrights}} | Export-Csv "C:\sqltest1\excel.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8 Zu deinen Fragen: Das n steht für Name. (Das e für Expression) Siehe dazu Select-Object Die Liste schreibt (fast) jede Berechtigung einzeln auf. Schau mal bitte per GUI auf Sicherheit -> Erweitert. Wenn dort spezielle Berechtigungen gesetzt sind, dann werden diese separat aufgelistet. 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.