Kuddel071089 9 Geschrieben 23. Februar 2016 Melden Teilen Geschrieben 23. Februar 2016 (bearbeitet) Hallo zusammen, bei uns wird der standortübgreifende Filezugriff über gruppen geregelt. D.h.: Zugriff am eigenen Standort= Mitlgied in der Gruppe "Alle-Standort" Zugriff am fremden Standort = Mitglied in der Gruppe "DATAEigenerStandort-Fremndstandort" Ob das ganze jetzt alles korrekt eingerichtet ist, möchte ich regelmäßig per Skript prüfen. Ob jeder, der die DATA-Gruppe hat, sie auch noch benötigt, oder ob sie jmd. fehlt. Ich habe auch schon eine erste Abfrage erstellt: Die Abfrage zeigt mir an, wer Zugriff auf irgendein Verzeichnis mit dem DN "*OU=S2*" Zugriff hat und Mitglied in der Gruppe "*CN=DATAS1-S2*" ist. D.h. bei all diesen Usern sind die Einstellungen korrekt. $s1_users = Get-ADUser -Filter * -SearchBase "OU=User,OU=S1,OU=hhla,DC=DOMAIN,DC=local" | sort | select SamAccountName ForEach($user in $s1_users) { if ((Get-ADUser $user.SamAccountName -Properties memberof).memberof -like "*OU=S2*" -and (Get-ADUser $user.SamAccountName -Properties memberof).memberof -like "*CN=DATAS1-S2*") {Write-Host -ForegroundColor Green "$($user.SamAccountName) hat Zugriff auf Daten am Standort 2" } } Ich scheitere gerade an den Abfragen nach fehlerhaften Einstellungen. Sprich ein User hat keinen Zugriff mehr auf irgendein Verzeichnis mit dem DN "*OU=S2*" aber ist noch Mitglied in der Gruppe "*CN=DATAS1-S2*". Oder ein User hat Zugriff auf irgendein Verzeichnis mit dem DN "*OU=S2*", ist aber kein mitglied der in der Gruppe "*CN=DATAS1-S2*". Ich hoffe es ist einigermaßen verständlich was ich hier geschrieben habe. Falls nicht, einfach fragen. Vielen Dank schon einmal bearbeitet 23. Februar 2016 von Kuddel071089 Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 23. Februar 2016 Melden Teilen Geschrieben 23. Februar 2016 Moin, da verstehe ich weder das Konzept noch deine Abfrage noch die Frage, die du stellst. Gruß, Nils Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 23. Februar 2016 Autor Melden Teilen Geschrieben 23. Februar 2016 (bearbeitet) Habe es dann doch fast sleber hinbekommen Fall 1 $s1_users = Get-ADUser -Filter * -properties memberof -SearchBase "OU=User,OU=S1,DC=DOMAIN,DC=local" | Where-Object {!($_.memberof -like "*DATAS1-S2*") -and ($_.memberof -like "*OU=Group,OU=S2,*")} | Select SamAccountName ForEach($user in $s1_users) { Write-Host -ForegroundColor RED "Folgende User werden DATAS1-S2 hinzugefügt: $($user.SamAccountName)" Add-ADGroupMember "DATAS1-S2" -Member $($user.SamAccountName) } Fall 2 $s1_users = Get-ADUser -Filter * -properties memberof -SearchBase "OU=User,OU=S1,DC=DOMAIN,DC=local" | Where-Object {($_.memberof -like "*DATAS1-S2*") -and !($_.memberof -like "*OU=Group,OU=S2,*")} | Select SamAccountName ForEach($user in $cta_users) { Write-Host -ForegroundColor RED "Folgende User werden aus DATAS1-S2 entfernt: $($user.SamAccountName)" #sleep 2 Remove-ADGroupMember DATAS1-S2 -Member $($user.SamAccountName) -Confirm:$false } Ich muss jetzt nur noch bestimmt Gruppen ausschließen können, die nicht mit betrachter werden sollen. $s1_users = Get-ADUser -Filter * -properties memberof -SearchBase "OU=User,OU=S1,DC=DOMAIN,DC=local" | Where-Object {!($_.memberof -like "*DATAS1-S2*") -and ($_.memberof -like "*OU=Group,OU=S2,*")} -Where GroupName -notlike "FTP*" | Select SamAccountName ForEach($user in $s1_users) { Write-Host -ForegroundColor RED "Folgende User werden DATAS1-S2 hinzugefügt: $($user.SamAccountName)" Add-ADGroupMember "DATAS1-S2" -Member $($user.SamAccountName) } bearbeitet 23. Februar 2016 von Kuddel071089 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.