Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst 500 Ordner - NTFS Berechtigungen mit wenigen Klicks ändern

Mitglied: hamspirit

hamspirit (Level 1) - Jetzt verbinden

21.11.2013 um 10:34 Uhr, 10896 Aufrufe, 6 Kommentare, 1 Danke

Hallo zusammen,

eine Fileserver-Migration steht an.
Der neue Fileserver bestitz 15 Ordner auf der ersten Ebene und darunter zwei weitere Ebenen, die den Datenbestand strukturieren.
In der dritten Ebene sollen nun unterschiedliche Berechtigungen zum Einsatz kommen. In Summe sind das knapp 500 Ordner, die in der dritten Ebene liegen.

Mir widerstrebt es jetzt in jedem Ordner die Rechtevererbung von Hand zu unterbrechen und danach die entsprechenden AD-Gruppen zu berechtigen.

Gibt es eine Möglichkeit, um diese Vererbung der NTFS-Rechte ohne viel Klickerei zu unterbrechen?
Die Gruppen den Rechten hinzuzufügen wäre ja noch ok. Aber diese elendige Klickerei zum Unterbrechen der Vererbung nervt ungemein.

Ich könnte mir vorstellen, die Ordner Strukturen in eine Textdatei zu packen und dann ein Skript darüber rennen zu lassen. Ich habe nur keine Ahnung, wie das dann aussehen muss, damit die Vererbung danach unterbrochen ist.

Besten Dank vorab!

Grüße
HamSpirit
Mitglied: colinardo
21.11.2013, aktualisiert um 10:43 Uhr
Hallo HamSpirit,
hatten wir hier schon mehrfach. Mit Powershell und den CMDLets get-acl und set-acl kein Problem.
Siehe dazu auch folgenden Beitrag: https://www.administrator.de/forum/powershell-zugriffsberechtigungen-von ...
Ansonsten liefert eine Suche hier im Forum mit folgendem Suchstring die gewünschten Treffer :
"powershell acl"

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
21.11.2013, aktualisiert um 11:12 Uhr
Um es dir etwas einfacher zu machen, hier ein Script das du dazu hernehmen könntest:
Du legst für einen Ordner im System die gewünschten Berechtigungen fest die du auf die anderen Ordner übertragen möchtest, und trägst den Pfad in Zeile 1 des Scripts ein. Diese Berechtigungen werden dann auf alle Unterordner für den Pfad den du in Zeile 2 angibst angewendet inklusive Unterbrechung der Vererbung.
01.
$sourceACL = get-acl -Path "C:\Temp\source"
02.
$startFolder = "C:\Zielordner"
03.

04.
#Vererbung des ACL-Objektes deaktivieren (Parameter 1) bestehende Berechtigungen erhalten (Parameter 2)
05.
$sourceAcl.SetAccessRuleProtection($true,$true)
06.

07.
#Alle Unterordner (erste Ebene des Ordners)
08.
$allSubFolders = dir $startFolder | ?{$_.PSIsContainer}
09.

10.
#Für alle Unterordner der ersten Ebene die ACLs durch das des $sourceACL-Objektes ersetzen
11.
foreach($folder in $allSubFolders){
12.
    Set-Acl -Path $folder.FullName -AclObject $sourceACL
13.
}
Grüße Uwe
Bitte warten ..
Mitglied: hamspirit
22.11.2013 um 07:36 Uhr
Danke für diese Hilfestellung, Uwe.
Die Vererbung habe ich für die besagten Ordner nun unterbrochen. Das erspart einem doch viele Stunden Klickerei. ;)

Wie komplex wird es, wenn ich zwei Textdateien nutzen will, um Berechtigungen zuzuweisen.
In Textdatei1 sollen zeilenweise Ordner stehen. Bsp: d:\freigabe\Ordner\bla\bla
In Textdatei2 sind passend dazu Gruppen aus dem AD aufgeführt werden.
Ziel soll es sein, dass die AD-Gruppe aus Zeile 1 aus Textdatei2 Berechtigungen auf den Ordner aus Zeile 1 aus Textdatei1 erhält.

Habe noch keine Möglichkeit gefunden, Informationen aus zwei Dateien zusammenfließen zu lassen. Oder kann man das auf andere Weise erledigen?

Nochmals vielen Dank und beste Grüße
HamSpirit
Bitte warten ..
Mitglied: colinardo
22.11.2013, aktualisiert um 09:45 Uhr
Hallo Hamspirit,
ich würde das ganze in eine einzelne CSV-Datei packen die dann so aussehen könnte:
"FREIGABE";"BERECHTIGUNGEN"
"d:\freigabe\Ordner\bla\bla";"DOMAIN\Group1,DOMAIN\Group2,DOMAIN\Group3"
also in der ersten Spalte der Ordner, und in der zweiten Spalte mit Komma voneinander getrennt die Gruppen. So hat man alles zusammen in einer Datei und muss nicht immer hin und her springen... Deine Variante ist auch kein Problem, aber ich sehe keinen Grund das zu trennen.

Wenn du willst bau ich dir dazu das entsprechende Script.

Was auch noch benötigt wird sind dann die entsprechenden Zugriffsrechte (R/W,Vollzugriff, etc)

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
22.11.2013 um 10:27 Uhr
Zu meinem Beispiel mit der CSV-Datei kannst du folgendes Script hernehmen:
01.
#CSV-Datei
02.
$csvPermissions = import-csv "C:\Temp\permissions.txt" -Delimiter ";"
03.

04.
foreach($line in $csvPermissions){
05.
    #Freigabeordner
06.
    $folder = $line.Freigabe
07.
    #Berechtigungen
08.
    $groups = $line.Berechtigungen.Split(",")
09.
    #Wenn Ordner existier
10.
    if ((Test-Path $folder)){
11.
        #Wenn überhaupt Berechtigungen angegeben sind
12.
        if ($groups.length -gt 0){
13.
            #Neues leeres ACL-Objekt erzeugen
14.
            $newACL = New-Object System.Security.AccessControl.DirectorySecurity
15.
            #Vererbung der ACL deaktivieren
16.
            $newACL.SetAccessRuleProtection($true,$false)
17.
            #Für jede Gruppe die entsprechende AccessRule zur ACL hinzufügen
18.
            for ($i = 0 ; $i -lt $groups.length; $i++){
19.
                #Gebe der Gruppe "Vollzugriff" und vererbe diese Rechte an Unterordner und Objekte
20.
                $perm = $groups[$i],"FullControl","ContainerInherit,ObjectInherit","None","Allow"
21.
                $objACE = New-Object System.Security.AccessControl.FileSystemAccessRule $perm
22.
                $newACL.AddAccessRule($objACE) 
23.
            }
24.
            # Schreibe die ACL
25.
            set-acl -Path $folder -AclObject $newACL
26.
        }
27.
    }else{
28.
        #Ordner wurde nicht gefunden
29.
        echo "Der Ordner '$folder' existiert nicht unterhalb von '$startFolder'!"
30.
    }
31.
    
32.
}
Die Formatierung der CSV-Datei sollte wie oben geschrieben so aussehen (inklusive der Überschriften):
"Freigabe";"Berechtigungen" 
"d:\freigabe\Ordner\bla\bla";"DOMAIN\Group1,DOMAIN\Group2,DOMAIN\Group3"
Bin jetzt erst mal hier im Beispiel von "Vollzugriff" Rechten für die Gruppen ausgegangen, das lässt sich aber anpassen ...

Grüße Uwe
Bitte warten ..
Mitglied: hamspirit
26.11.2013 um 10:21 Uhr
Uwe, vielen Dank.

Das Unterbrechen der Vererbung habe ich nun mit diesem Script erledigt:

01.
for /f "tokens=*" %%a in (e:\folderlist2.txt) do (
02.
  icacls %%a /inheritance:d
03.
)

Für die Vergabe von Berechtigungen auf die verschiedenen Ordner kam dieses Powershell-Script zum Einsatz:

01.
$Path = @()
02.
$Group = @()
03.

04.

05.
$Permissions = Import-Csv E:\permissions.csv -delimiter '|'
06.

07.
    ForEach ($line in $Permissions)
08.

09.
             {
10.
        write-host $line
11.
        $acl = Get-Acl $line.Path
12.
        $acl.SetAccessRuleProtection($True, $False)
13.
        $rule = New-Object System.Security.AccessControl.FileSystemAccessRule($line.Group,"ReadAndExecute", "ContainerInherit, ObjectInherit", "None", "Allow")
14.
        $acl.AddAccessRule($rule)
15.
        Set-Acl $line.Path $acl
16.
       		}
Die Permissions.csv bestand aus:

01.
Path|Group
02.
E:\Ordner1\Ordner2\|Meine_AD_Gruppe
Bitte warten ..
Ähnliche Inhalte
Datenbanken

MS Access 2010 Berechtigung für Button(Klick)

gelöst Frage von Dr.CornwallisDatenbanken12 Kommentare

Liebe Gemeinde, ich bräuchte bitte Hilfe für folgendes Szenario: Auf einem Formular habe ich ein Textfeld, dieses gibt den ...

Grafikkarten & Monitore

Grafikkarte hat zu wenig Speicher

Frage von MetzelHaseGrafikkarten & Monitore5 Kommentare

Guten Tag zusammen, ich habe mittlerweile leichte Angst das meine Graka ein leichtes Problem hat. Ich habe die Geforce ...

Microsoft Office

EXCEL Link per Klick?

gelöst Frage von renesiebererMicrosoft Office1 Kommentar

Mahlzeit alle miteinander, Ich habe ein Excel Programm erstellt, dass ganz simpel mit einem Makro per Klick auf einen ...

Netzwerke

NTFS-Berechtigung

Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Neue Wissensbeiträge
Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 13 StundenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 1 TagWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 2 TagenWindows 1013 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 3 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Heiß diskutierte Inhalte
Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

Outlook & Mail
Office 365 mit Email-Profil installieren
gelöst Frage von 139221Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Glasfaserkabel verlegen und Anschlüsse setzen
Frage von LLL0rdLAN, WAN, Wireless13 Kommentare

Hallo Leute, ich muss demnächst ein Netzwerkkabel auf einer Länge von ca. 70 Metern verlegen. Das Netzwerkkabel soll dabei ...

Server-Hardware
Server Hardwareempfehlung für Projekt
gelöst Frage von heax22Server-Hardware12 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer geeigneten Server Plattform um unter Hyper-V einen virtuellen Server 2016 ...