nemesis
Goto Top

Microsoft DFS Namespace explizite Rechte verwaiste ACLs löschen via cmd o. Powershell

Hallo zusammen,

Ich habe ein Microsoft DFS Namespace. In dem Namespace sind auf die veröffentlichten Ordner ACLs gesetzt.

aufnahme10

Wie man in dem Screenshot sehen kann, ist hier eine "tote SID" enthalten.

Nun die Frage, wie bekomme ich diese am besten via Powershell oder CMD Command gelöscht.

Über die Befhele:

dfsutil property sd grant \\contoso.office\public\training ”CONTOSO\Domain Admins”:R CONTOSO\Trainers:R Protect Replace 

Revoke-DFSNAccess und Remove-DFSNAccess mit gelöchtem Namen bzw der SID keinen Erfolg.

Kann die Tote SID nicht finden und entsprechend löschen.
Über die GUI ist es möglich.

Jemand eine Idee.

Vielen Dank.

Mfg Nemesis

Content-ID: 2436141964

Url: https://administrator.de/forum/microsoft-dfs-namespace-explizite-rechte-verwaiste-acls-loeschen-via-cmd-o-powershell-2436141964.html

Ausgedruckt am: 22.12.2024 um 04:12 Uhr

1915348599
1915348599 07.04.2022 aktualisiert um 14:20:36 Uhr
Goto Top
Und wenn du mit Get-DFSNAccess die ACL mit where-object filterst und an das CMDLet Remove-DFSNAccess pipest?
nEmEsIs
nEmEsIs 07.04.2022 um 14:45:01 Uhr
Goto Top
Hi Pretty

danke für die Antwort. Leider nicht der gewünschte Erfolg, siehe die Ausgabe

aufnahme15

MfG Nemesis
DerWoWusste
DerWoWusste 07.04.2022 um 15:51:45 Uhr
Goto Top
colinardo
colinardo 07.04.2022 aktualisiert um 17:24:52 Uhr
Goto Top
Servus @nEmEsIs,
habe mal gerade nachgesehen. Die "explizit zugewiesenen Anzeige-Berechtgungen" stehen im AD aber nicht im normalen SecurityDescriptor des AD-Objektes sondern in einer separaten Eigenschaft namens msDFS-LinkSecurityDescriptorv2.

Habe dir auf die Schnelle mal was zusammengelötet was verwaiste SIDs aus der ACL eines Links in einem Namespace entfernt (hier schnell getestet auf einem Server 2022):
Import-Module ActiveDirectory
# namespace to work on
$namespace = 'MyNamespace'  
# link path
$linkpath = '/EXCH'  
# get link from namespace
Get-ChildItem "AD:CN=$namespace,CN=$namespace,CN=DFS-Configuration,CN=System,$((Get-ADDomain).DistinguishedName)" | ?{$_.ObjectClass -eq 'msDFS-Linkv2' -and (Get-ADObject $_.distinguishedName -Properties 'msDFS-LinkPathv2').'msDFS-LinkPathv2' -eq $linkpath} | %{  
    # get link object properties
    $link = Get-ADObject $_.distinguishedName -Properties 'msDFS-LinkSecurityDescriptorv2'  
    # remove access rules with abandoned accounts from access list
    $link.'msDFS-LinkSecurityDescriptorv2'.Access | ?{try{[void]$_.IdentityReference.Translate([System.Security.Principal.NTAccount])}catch{$true}} | %{[void]$link.'msDFS-LinkSecurityDescriptorv2'.RemoveAccessRule($_)}  
    # replace security descriptor in property of link
    Set-ADObject $_.DistinguishedName -Replace @{'msDFS-LinkSecurityDescriptorv2'=$link.'msDFS-LinkSecurityDescriptorv2'} -Verbose  
}
Das lässt sich natürlich auch auf alle Links ausdehnen indem man im Where-Object den Vergleich mit einem einzelnen Link-Pfad entfernt.

screenshot

screenshot

Hoffe das hilft dir weiter.

Grüße Uwe
nEmEsIs
nEmEsIs 07.04.2022 um 17:36:35 Uhr
Goto Top
Hallo Uwe,

Puh okay das ist ne Nummer für sich die im ADSI Edit zu entfernen.
Schade das es hierfür keinen direkten Befehl gibt.

Werd es mal in ner Umgebung austesten und Feedback geben.

Mit freundlichen Grüßen Nemesis
DerWoWusste
DerWoWusste 07.04.2022 um 18:35:41 Uhr
Goto Top
Warum nicht über die GUI?
Geht es um viele solcher?
nEmEsIs
nEmEsIs 07.04.2022 um 18:49:43 Uhr
Goto Top
Hi

Geht um Automatisierung, sprich wenn Admin die AD Gruppe löscht, aber das DFS ABE bzw ACL vergisst, soll das dann durch ein Skript gelöscht werden.

Mit freundlichen Grüßen Nemesis
DerWoWusste
DerWoWusste 07.04.2022 um 19:28:54 Uhr
Goto Top
Warum setzt du die Rechte eigentlich dort? Die andere Option (siehe dein Screenshot) wäre hierbei einfacher, nämlich die Rechte von der Freigabe zu übernehmen. Da würde schon ein subinacl Einzeiler genügen, um das zu berichtigen.
nEmEsIs
nEmEsIs 07.04.2022 um 20:53:37 Uhr
Goto Top
Hi

Naja die lokalen Rechte des Namespace Servers also auf den Domain Controllern sind das jeder alle Ordner im Namespace sieht.
Er nimmt diese ja nicht von der Freigabe des Servers das ist ein Trugschluss!
Ich will hier ja ABE haben sprich du siehst nur wozu du berechtigt bist.

Mit freundlichen Grüßen Nemesis