Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Verzeichnisrechte mit Cacls nur dann ersetzen, wenn der User keinen vererbten Vollzugriff hat

Frage Entwicklung Batch & Shell

Mitglied: Iknarf

Iknarf (Level 1) - Jetzt verbinden

05.12.2011 um 15:20 Uhr, 3905 Aufrufe, 4 Kommentare

Hallo,
seit einer Weile bin ich dabei ein Batchscript zu schreiben, welches die Berechtigungsstruktur für ein bestimmtes Verzeichnis und deren Unterverzeichnisse anpasst. Hintergrund ist der, dass auf dem Ursprungs Verzeichnis Rechte für den Ersteller mit Vollzugriff ohne Vererbung aktiv sind. Das bedeutet, dass der User in diesem Ursprungsverzeichnis Verzeichnisse und darunter auch Verzeichnisse und Dateien erstellen kann, auf diese kann er auch selbst zugreifen, jedoch sobald z. B. ein Administrator in diese Verzeichnisse Dateien kopiert kann der Anwender nicht auf diese zugreifen, da keine Vererbung aktiv war und er nicht mehr berechtigt ist.

Da die Anwenderverzeichnisse dynamisch bei der ersten Anmeldung mit dem jeweiligen Anmeldenamen erzeugt wurden und das Ganze zudem historisch gewachsen ist, suche ich nun einen Weg die Rechtestruktur "gerade" zu ziehen. Mein Ansatz ist eine FOR Schleife, welche das Ursprungsverzeichnis nach den Unterordnern (Anmeldenamen) durchsucht und im Anschluss die Rechte für den betreffenden User auf Vollzugriff mit Vererbung ändert:

01.
 FOR /F "tokens=1,*" %%i IN ('DIR /b C:\Verzeichnis') DO CACLS C:\Verzeichnis\%%i /T /E /P Domain\%%i:F 

das funktioniert z. B. per Task ganz gut, jedoch werden die Berechtigungen bei jedem Neustart des Computers angefasst, was bei großen Datenmengen doch erheblich lange dauert.

Daher meine Frage, gibt es die Möglichkeit das Skript so anzupassen, dass die Berechtigungen nur dann angefasst werden, wenn der User auf seinen Ordner keinen vererbten Vollzugriff hat. Falls ja, wie müsste oder sollte der Code hierzu aussehen?

Vielen Dank und viele Grüße
Frank
Mitglied: Luie86
05.12.2011 um 17:43 Uhr
Hi,

ich würde dir empfehlen für solche Sachen nicht Batch zu verwenden.
Nimm lieber VBS, Perl, <beliebige Programmier-/Skriptsprache>.

Da ich sowas ähnliches schon in Perl gelöst habe, könnte ich dir mein Skript schicken.
Müsstest es nur ein wenig anpassen und vielleicht hat es sich damit ja schon erledigt.

Gruß Daniel
Bitte warten ..
Mitglied: 60730
05.12.2011 um 21:37 Uhr
moin,

das ist doch ganz einfach - auch ohne Perl..

If exist flag - damit das stur nur einmal läuft
oder uauberer
cacls C:\Verzeichnis |find /i "%username%" - oder was immer du da gradeziehst - && goto end: || goto einzeilerschleife von oben.

Gruß
Bitte warten ..
Mitglied: Iknarf
06.12.2011 um 11:20 Uhr
@TimoBeil

vielen Dank das war's ...

Zitat von 60730:
> cacls C:\Verzeichnis |find /i "%username%" - oder was immer du da gradeziehst - && goto end: || goto
einzeilerschleife von oben.

An die "||" habe ich gar nicht gedacht, vielmehr kannte ich die gar nicht .

So sieht mein Skript jetzt fertig aus:

01.
 FOR /F "tokens=1,*" %%i IN ('DIR /b C:\Verzeichnis') DO ( 
02.
CACLS C:\Verzeichnis\%%i | FINDSTR /I "domain\%%i:(OI)(CI)F" || CACLS C:\Verzeichnis\%%i /T /E /C /P domain\%%i:F  
03.
)

Viele Grüße
Frank
Bitte warten ..
Mitglied: Iknarf
06.12.2011 um 11:22 Uhr
@Luie86

vielen Dank für Dein Angebot, aber mit Perl kenne ich mich nicht so aus.

Viele Grüße
Frank
Bitte warten ..
Ähnliche Inhalte
Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Batch & Shell
gelöst Powershell - User Remote abmelden (4)

Frage von Bugger zum Thema Batch & Shell ...

Windows Server
GPO um zu verhindern, dass User freigegebene Drucker hinzufügen? (2)

Frage von eastfrisian zum Thema Windows Server ...

Windows Server
gelöst GPO auf User-OU greift nicht (2)

Frage von eastfrisian zum Thema Windows Server ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...