bensonhedges
Goto Top

Powershell: Alle User anzeigen, die Zugriff auf einen Share haben

Hallo Ihr PS-Freaks,

ich möchte gerne alle User anzeigen, die Zugriff (also mindestens Lesen) auf einen Share haben.

Damit bekomme ich schon einmal alle Zugriffe inkl. AD-Gruppen angezeigt:

(get-acl , 'ordnername').Access| Select-Object -ExpandProperty IdentifyReference  

Vermutlich muss noch eine Schleife eingebaut werden, die dann noch diese AD-Gruppen in User auflöst.
Letztendlich sollte dabei nur so etwas herausgekommen:

Share:
User: User A, B, C, ....

Ich kenne mich noch nicht so gut mit der Materie aus, vielleicht kann mir jemand von Euch helfen.

Einen schönen Tag!
Benson

Content-Key: 321937

Url: https://administrator.de/contentid/321937

Printed on: April 26, 2024 at 13:04 o'clock

Mitglied: 131381
Solution 131381 Nov 24, 2016 at 08:03:27 (UTC)
Goto Top
Get-ADGroupMember GRUPPEXYZ -recursive ist dein Freund

Gruß
Member: bensonhedges
bensonhedges Nov 24, 2016 at 08:09:08 (UTC)
Goto Top
Vielen Dank! Das habe ich auch schon herausgefunden face-wink

Wie gesagt, ich kenne mich mit PS noch nicht so gut aus... Wie baue ich den Befehl in die Schleife mit ein?
Mitglied: 131381
Solution 131381 Nov 24, 2016 updated at 15:56:20 (UTC)
Goto Top
In der Schleife machst du eine Abfrage mit Get-ADGroupMember setzt den Parameter -ErrorAction Silently Continue und speicherst das Ergebnis in einer Variablen. Die Variable checkst du mit einer IF-Abfrage: Wenn Daten in der Variable stehen war es eine Gruppe ansonsten gibst du den Usernamen aus.
Das ganze lässt du noch durch Select -Unique laufen um doppelte User zu entfernen. Fertig.
(get-acl C:\Ordner).Access | %{
    $account = $_.IdentityReference.Value.split('\')[-1]  
    try{
        $result = Get-ADGroupMember $account -Recursive -EA Stop
        $result.SamAccountName
    }catch{
        $account
    }
} | Select -Unique