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

Per Script Ordnerrechte ändern, etwas kniffelig

Frage Microsoft Windows Server

Mitglied: 12223

12223 (Level 1)

20.05.2010 um 13:30 Uhr, 9072 Aufrufe, 6 Kommentare

Hi Community,

kurz zur Ausgangssituation:

Eigene Dateien und Desktop sind umgebogen auf Netzwerkshares.

Server ist Windows Server 2003 R1, Client OS ist XP Pro SP2

Das Problem ist nun folgendes:

Wenn sich ein neuer User anmeldet, werden die Ordner auf den Shares erstellt, bekommen aber die Rechte vererbt. Und das sind nunmal nicht die Admins (Voll), User (Eingeschränkt), System (Voll) sondern Admins (Voll) DomUser (Eingeschränkt), System (Voll). Was nun zur folge hat, dass Alle Domänen Benutzer überall drauf dürfen, und das bei rund 700 Nutzern.

Meine Idee, ein Script was den Ordnername (=Nutzername) ausliest, die Rechte neu setzt und dann mit dem nächsten Ordner weiter macht. Ich hab zwar schon allerhand mit Batch gearbeitet, aber bin ein wenig eingerostet.

Jemand eine Idee oder ein paar Codeschnipsel?

Das zweite ist, ich würde das ganze dann gleich für neue User beim anmelden machen. Auch hier benötige ich ein paar Codeschnipsel.

Schon im Vorraus, seid Bedankt

Gruss

Sebastian
Mitglied: Edi.Pfisterer
20.05.2010 um 15:35 Uhr
Hallo!
naja, so kniffelig ists dann wieder nicht

hier - aus Zeitmangel - ein Codeschnipsel, der zumindest mal die Ordnernamen liest:

Ordnerliste.vbs
01.
Set WshShell = WScript.CreateObject("WScript.Shell")  
02.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
03.
function ordner(pfad) 
04.
 
05.
        Set objFolder = objFSO.GetFolder(pfad) 
06.
        Set colSubfolders = objFolder.Subfolders 
07.
 
08.
        For Each objSubfolder in colSubfolders 
09.
        on Error resume next 
10.
 
11.
                 vollername = objFSO.GetAbsolutePathName(objSubfolder) 
12.
                 WshShell.Run "cmd /c echo j|cacls " & vollername & " /G Administratoren:F ", 0, 1			   
13.
 
14.
         call ordner(ordnerneu) 
15.
        Next 
16.
 
17.
 
18.
end function 
19.
 
20.
call ordner("C:\test")
so in der Richtung... (komplett ungetetestet wegen Zeitmangels...)
cacls /? bringt die nötigen Flags, ob gelesen oder geschrieben oder whatever werden soll..

gutes gelingen
lg
Bitte warten ..
Mitglied: 12223
20.05.2010 um 17:06 Uhr
Hi, war auch nicht untätig, hab eigentlich alles zusammen, nur mag mein cacls.exe die Domänen-Benutzer nicht entfernen ... hab so ziemlich alle Deutschen und Englischen begriffe durch, jemand eine Idee?

rem config 
set title=Rechteaenderungsprogramm v0.1a 
 
@echo off 
 
title=%title% 
CLS 
 
 
:lesen 
echo Lese die Nutzer aus! 
 
echo ###>user.txt 
dir /B /O:N /A:D>>user.txt 
 
:auswertung 
title=%title% 
cls 
FOR /f "delims=" %%n in (user.txt) do set curdir=%%n 
 
:rechte setzen 
echo. 
echo. 
echo Setze Rechte fuer Verzeichnis: %curdir% 
echo.  
echo.  
cacls %curdir% /T /E /C /G "Domänen-Benutzer":R>NUL 
echo Domaenen-Benutzer sind entfernt worden aus ACL %curdir% 
echo. 
cacls %curdir% /T /E /C /G %curdir%:C>NUL 
echo Nutzer %curdir% ist in hinzugefuegt worden in ACL %curdir% 
 
 
findstr /v /c:"%curdir%" user.txt>user1.txt 
del user.txt 
rename user1.txt user.txt 
echo. 
echo.  
echo Taste druecken fuer naechsten Ordner. 
echo. 
pause>NUL 
 
if %curdir%==### (goto :end) 
goto :auswertung   
 
:end 
 
title=%title% 
CLS 
echo. 
echo Loesche temporaer Dateien 
del user.txt 
echo. 
echo. 
echo ....................................... 
echo. 
echo Ende des Programms! 
echo. 
echo. 
echo Zum Beenden beliebige Taste druecken! 
pause>NUL
Bitte warten ..
Mitglied: bastla
20.05.2010 um 18:17 Uhr
Hallo Saint2000!
hab so ziemlich alle Deutschen und Englischen begriffe durch
Dom„nen-Benutzer
hattest Du auch schon?

Grüße
bastla
Bitte warten ..
Mitglied: Edi.Pfisterer
20.05.2010 um 21:44 Uhr
Hallo!
hab mir jetzt - in aller Ruhe - mal Dein Problem durchgelesen und glaube zu erkenne, dass dieses Skript zwar interessant, aber dennoch - bei richtiger Verwendung der NTFS-Berechtigungen - nicht verwendet werden muss.

Dein Problem beruht ja auf der Vererbung der Berechtigungen des Grundordners Deines Shares.

Und genau hier ist anzusetzen:
Vererbung abdrehen und fertig. Weil: Vollzugriff bekommt der jeweilige User ohnehin auf seinen Ordner ohne Dein Zutun beim Erstellen des Accounts im AD.

Wie ist diese Vererbung abzudrehen?
Sicherheitseinstellungen / Erweitert / Bearbeiten (der Domänen-Benutzer) --> Nur dieser Ordner + Lesen

Fertig!
(Wenns nur per Skript ginge, dann würde es Dein Skript längstens in Millionenfacher Ausfertigung geben....)

Gratuliere trotzdem zu Deinem Rechteaenderungsprogramm v0.1a , hat Dich sicher um einige Erkenntnisse reicher werden lassen...
(und wenn Du die 700 User schon angelegt hast, kannst Du es für diese auch gut gebrauchen
In Zukunft sollte es dann ohne Skript laufen...)

lg
Edi
Bitte warten ..
Mitglied: 12223
21.05.2010 um 08:16 Uhr
Naja,

das Problem daran ist aber, dass die Domäne hier ein wenig ... mmh .. verbogen ist. Heisst: Neuer User wird über ein SUN Ldap ins AD geschossen, Nutzer meldet sich an und dann werden seine Ordner (Desktop, EigeneDateien und Profil) angelegt.

Das heisst, der Grundordner (z.B. desktop) benötigt aber die DomainUsers, weil sonst nicht im Kontext des Users sein Ordner darunter angelegt werden kann.

Sonst wärs ja einfach *G*
Bitte warten ..
Mitglied: 12223
21.05.2010 um 16:25 Uhr
Hallo ich habe das Problem gelöst.

Mithilfe von Batch, CACLS und fileACL (http://www.gbordier.com/gbtools/fileacl.asp)

REM Programm aendert Rechte aus Ordner in dem die Batch liegt! 
REM Alle Ordner werden ausgelesen und in die Datei user.txt geschrieben. 
REM Anhand dieser Dateien werden auf jeden Ordner die Rechte des Ordnernamens  
REM gesetzt. 
REM 
REM History: 
REM v0.1a - 20.05.2010 -  
REM v0.2a - 21.06.2010 -  
 
 
 
rem config 
set title=Rechte Aenderungsprogramm v0.2a 
 
@echo off 
 
title=%title% 
CLS 
 
 
:lesen 
echo Lese die Nutzer aus! 
 
echo ###>user.txt 
dir /B /O:N /A:D>>user.txt 
 
:auswertung 
title=%title% 
cls 
FOR /f "delims=" %%n in (user.txt) do set curdir=%%n 
if %curdir%==### (goto :end) 
 
:rechte setzen 
 
echo. 
echo. 
echo Setze Rechte fuer Verzeichnis: %curdir% 
echo.  
echo. 
fileacl.exe %curdir% /R Dom„nen-Benutzer /protect /files>NUL 
echo.  
echo Domaenen-Benutzer sind entfernt worden aus ACL %curdir% 
echo. 
echo Vererbung ist aufgehoben worden fuer %curdir% 
echo. 
cacls %curdir% /T /E /C /G %curdir%:C>NUL 
echo Nutzer %curdir% ist in hinzugefuegt worden in ACL %curdir% 
 
 
findstr /v /c:"%curdir%" user.txt>user1.txt 
del user.txt 
rename user1.txt user.txt 
echo. 
echo.  
echo Taste druecken fuer naechsten Ordner. 
echo. 
pause>NUL 
 
if %curdir%==### (goto :end) 
goto :auswertung   
 
:end 
 
title=%title% 
CLS 
echo. 
echo Loesche temporaer Dateien 
del user.txt 
echo. 
echo. 
echo ....................................... 
echo. 
echo Ende des Programms! 
echo. 
echo. 
echo Zum Beenden beliebige Taste druecken! 
pause>NUL
Ich liebe Batch *g*

Für die Nachwelt

Danke für eure Hilfen!

@bastla, du siehst, auch du wurdest gewürdigt *g*
Bitte warten ..
Ähnliche Inhalte
Windows Server
PowerShell Script - Ordnerrechte setzen
Frage von desmondjamesWindows Server7 Kommentare

Hallo Community, ich bitte um Hilfe. Ich bin nicht so fit in Powershell, benötige aber ein Script. Ich habe ...

Windows Server
Ordnerrechte für lokale Benutzer
Frage von MasterSchlumpfWindows Server1 Kommentar

Hallo zusammen, ich möchte innerhalb unserer Domäne einen Ordner für alle Mitarbeiter freigeben. Leider gibt es einen Teil, welcher ...

Batch & Shell
Variablen in bash-script ändern
gelöst Frage von cptkrabbeBatch & Shell3 Kommentare

Hallo! Ich stehe mal wieder auf allen verfügbaren Schläuchen, vielleicht könnt Ihr mir helfen. Ich habe ein Script (script.sh) ...

Microsoft Office
Pfad der Dokumentenvorlage mit einem Powershell Script ändern?
Frage von JanowitschMicrosoft Office7 Kommentare

Hallo Leute, Anwender nehmen in Word leider viel zu oft alte Dokumente als Vorlage für neue Dokumente her und ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 17 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 22 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 22 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
gelöst Frage von prodriveNetzwerkmanagement12 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...