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:
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 321937
Url: https://administrator.de/forum/powershell-alle-user-anzeigen-die-zugriff-auf-einen-share-haben-321937.html
Ausgedruckt am: 23.12.2024 um 18:12 Uhr
3 Kommentare
Neuester Kommentar
Get-ADGroupMember GRUPPEXYZ -recursive ist dein Freund
Gruß
Gruß
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.
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