NTFS Berechtigung Auslesen mit lokalen File Server Gruppen
Hey,
ich bin noch relativ neu in Powershell und habe folgendes Problem.
Ich muss via Powershell die NTFS-Berechtigungen von Ordnern auslesen. Wir haben mehrere Domänen und mehrere File Server.
Die Fileserver basieren auf Linux Ebene.
Wenn ich jetzt die Berechtigung eines Bestimmten Ordners auslesen möchte , bekomme ich nur die SID der Gruppe.
Das Konstrukt ist wie folgt aufgebaut.
File Server lokale Gruppen - diese liegen auf den Verzeichnis mit den jeweiligen Rechten
Globale Domänen Gruppen - diese sind Mitglied der lokalen File Server Gruppe ( damit User aus verschiedenen Domänen auf die selben Datein zugreifen können)
Jetzt muss ich die lokalen Gruppen austauschen - also ich möchte neue lokale Gruppen mit den selben Rechten auf die selben Verzeichnisse legen wie bisher und die alten Gruppen löschen.
Leider bekomme ich aber Ständig nur die SID der Gruppe angezeigt und kann mit dieser nicht weiter arbeiten.
Habt Ihr eine Idee ?
ich bin noch relativ neu in Powershell und habe folgendes Problem.
Ich muss via Powershell die NTFS-Berechtigungen von Ordnern auslesen. Wir haben mehrere Domänen und mehrere File Server.
Die Fileserver basieren auf Linux Ebene.
Wenn ich jetzt die Berechtigung eines Bestimmten Ordners auslesen möchte , bekomme ich nur die SID der Gruppe.
Das Konstrukt ist wie folgt aufgebaut.
File Server lokale Gruppen - diese liegen auf den Verzeichnis mit den jeweiligen Rechten
Globale Domänen Gruppen - diese sind Mitglied der lokalen File Server Gruppe ( damit User aus verschiedenen Domänen auf die selben Datein zugreifen können)
Jetzt muss ich die lokalen Gruppen austauschen - also ich möchte neue lokale Gruppen mit den selben Rechten auf die selben Verzeichnisse legen wie bisher und die alten Gruppen löschen.
Leider bekomme ich aber Ständig nur die SID der Gruppe angezeigt und kann mit dieser nicht weiter arbeiten.
Habt Ihr eine Idee ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 368574
Url: https://administrator.de/contentid/368574
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
13 Kommentare
Neuester Kommentar
Servus.
Zur Info, für solche Arbeiten bist du meist schneller fertig mit SetACL. Ansonsten findest du alles nötige in meinen Beiträgen.
Grüße Uwe
Zitat von @maxgans:
Wenn ich jetzt die Berechtigung eines Bestimmten Ordners auslesen möchte , bekomme ich nur die SID der Gruppe.
Wo ist das Problem? Eine SID lässt sich bei Bedarf (für dein Vorhaben aber eigentlich nicht nötig) problemlos vor und zurück "rechnen" Wenn ich jetzt die Berechtigung eines Bestimmten Ordners auslesen möchte , bekomme ich nur die SID der Gruppe.
# Username to SID
(New-Object System.Security.Principal.NTAccount("Gruppenname")).Translate([System.Security.Principal.SecurityIdentifier]).Value
# SID to Username
(New-Object System.Security.Principal.SecurityIdentifier("S-1-5-21-2377501304-837261869-3559950714-1001")).Translate([System.Security.Principal.NTAccount]).Value
Jetzt muss ich die lokalen Gruppen austauschen - also ich möchte neue lokale Gruppen mit den selben Rechten auf die selben Verzeichnisse legen wie bisher und die alten Gruppen löschen.
Leider bekomme ich aber Ständig nur die SID der Gruppe angezeigt und kann mit dieser nicht weiter arbeiten.
Meine Glaskugel ist im Urlaub... Btw. für das Setzen von Berechtigungen reicht die SID völlig aus damit lässt sich eine ACL problemlos erstellen.Leider bekomme ich aber Ständig nur die SID der Gruppe angezeigt und kann mit dieser nicht weiter arbeiten.
Zur Info, für solche Arbeiten bist du meist schneller fertig mit SetACL. Ansonsten findest du alles nötige in meinen Beiträgen.
Grüße Uwe
Zitat von @maxgans:
Auf die ID diese SID "umzurechnen" bin ich bereits gekommen. Allerdings komme ich da nicht weiter, da dies in einen Fehler läuft.
Aha, sehr aufschlussreich, ich geh jetzt mal Kacken bis hier was vernünftiges kommt.Auf die ID diese SID "umzurechnen" bin ich bereits gekommen. Allerdings komme ich da nicht weiter, da dies in einen Fehler läuft.
Einfach mal die Suche bemühen
500 Ordner - NTFS Berechtigungen mit wenigen Klicks ändern
Moin,
Dein Problem ist wohl das
Die SIDs der lokalen Gruppen kennt nur der/die Fileserver selbst. Also bleibt dir nichts anders übrig als sie dort auszulesen und zusammen mit den Displaynames in eine CSV zu schreiben, damit du dir dann beim Auslesen der "gemischten" Rechte wieder in umwandeln kannst.
Wenn du Probleme mit dem Scripts hast, poste bitte deinen Code hier.
lg,
Slainte
Dein Problem ist wohl das
Die Fileserver basieren auf Linux Ebene.
Die SIDs der lokalen Gruppen kennt nur der/die Fileserver selbst. Also bleibt dir nichts anders übrig als sie dort auszulesen und zusammen mit den Displaynames in eine CSV zu schreiben, damit du dir dann beim Auslesen der "gemischten" Rechte wieder in umwandeln kannst.
Wenn du Probleme mit dem Scripts hast, poste bitte deinen Code hier.
lg,
Slainte
Bekommst Du bei allen lokalen Gruppen nur die SID, oder nur bei einer bestimmten?
Wenn nur bei einer, kommt das zu 99% daher, das die Gruppe nicht mehr existiert, also gelöscht wurde.
Dann kann die SID natürlich nicht mehr zu einem Namen aufgelöst werden.
Die SID Umrechnungen die schon angemerkt wurden, gehen bei lokalen Gruppen auch nur dann, wenn man es auf dem Server selber ausführt, nicht remote. Woher soll die Win10 Station auch wissen, wie andere Rechner die SIDs benennen.
Wenn nur bei einer, kommt das zu 99% daher, das die Gruppe nicht mehr existiert, also gelöscht wurde.
Dann kann die SID natürlich nicht mehr zu einem Namen aufgelöst werden.
Die SID Umrechnungen die schon angemerkt wurden, gehen bei lokalen Gruppen auch nur dann, wenn man es auf dem Server selber ausführt, nicht remote. Woher soll die Win10 Station auch wissen, wie andere Rechner die SIDs benennen.
Schau dir wie oben geschrieben SetACL an das wurde genau für solche Arbeiten wie du sie hier schilderst geschaffen und du bist ruck zuck fertig. Dir als Powershell-Neuling jetzt alle Feinheiten die dabei zu beachten sind beizubringen das würde ehrlich gesagt dauern wenn du nicht nur copy n' Paste machen willst.
Guckst Du hier:
http://www.powershellpraxis.de/index.php/berechtigungen
http://www.powershellpraxis.de/index.php/berechtigungen