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

Frage Microsoft Windows Server

Mitglied: hamspirit

hamspirit (Level 1) - Jetzt verbinden

21.11.2013 um 10:34 Uhr, 8238 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: http://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
Windows Netzwerk
Ordner Berechtigungen NTFS
gelöst Frage von jbd.deWindows Netzwerk5 Kommentare

Hallo, ich versuche folgende Situation abzubilden: Es soll möglich sein einen Ordner einzustellen, auf den nur die A und ...

Windows Server
Fehler in den NTFS Berechtigungen bei Neuanlage Ordner
gelöst Frage von graysonx22Windows Server2 Kommentare

Hallo, wir haben ein gravierendes Problem bei einer recht komplexen Ordnerstruktur eines Kunden. Mehrere Ebenen mit div. Berechtigungen, gesamt ...

Windows Userverwaltung
Ordner Berechtigungen auf Server ändern
Frage von lukylukyWindows Userverwaltung11 Kommentare

Hallo zusammen, ich hoffe Ihr könnt mir bei meinem kleinen Problem helfen. Wir haben mehrere File-Server bei denen wir ...

Windows Server
Servergespeichete Profile NTFS Berechtigungen nachträglich ändern
gelöst Frage von bonnniWindows Server9 Kommentare

Problem/Aufgabe Ich muss die Berechtigungen in den servergespeicherten Profilen nachträglich ändern, da mein Vorgänger diese unglücklich gesetzt hat. 1. ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter wieder installieren auf einer frischen Windows-Installation

Tipp von Lochkartenstanzer vor 12 StundenMicrosoft Office

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 14 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 15 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 18 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware11 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...