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.
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:
Kann die Tote SID nicht finden und entsprechend löschen.
Über die GUI ist es möglich.
Jemand eine Idee.
Vielen Dank.
Mfg Nemesis
Ich habe ein Microsoft DFS Namespace. In dem Namespace sind auf die veröffentlichten Ordner ACLs gesetzt.
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2436141964
Url: https://administrator.de/contentid/2436141964
Ausgedruckt am: 21.11.2024 um 13:11 Uhr
9 Kommentare
Neuester Kommentar
Und wenn du mit Get-DFSNAccess die ACL mit where-object filterst und an das CMDLet Remove-DFSNAccess pipest?
Ein Beispiel für subinacl.exe gibt's hier:
https://michlstechblog.info/blog/windows-cleanup-permissions-from-delete ...
Beziehen von hier: https://web.archive.org/web/20171216102911/https://download.microsoft.co ...
https://michlstechblog.info/blog/windows-cleanup-permissions-from-delete ...
Beziehen von hier: https://web.archive.org/web/20171216102911/https://download.microsoft.co ...
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):
Das lässt sich natürlich auch auf alle Links ausdehnen indem man im Where-Object den Vergleich mit einem einzelnen Link-Pfad entfernt.
Hoffe das hilft dir weiter.
Grüße Uwe
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
}
Hoffe das hilft dir weiter.
Grüße Uwe