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

Ordnernamen auslesen für Besitzerwechsel

Frage Entwicklung Batch & Shell

Mitglied: schaefff

schaefff (Level 1) - Jetzt verbinden

22.07.2010, aktualisiert 23.07.2010, 3758 Aufrufe, 6 Kommentare

Moin alle zusammen,

hoffe hier kann mir jemand helfen.
Die Suche hat mir nur bedingt geholfen.

Es geht um folgendes Problem:
Ich habe hier ein Produktionsserver (Server 2003 R2 x64)auf dem 30 Mann arbeiten und alle haben einen eigenen Ordner auf dem sie per Netzwerkfreigabe arbeiten. Die Ordnerbezeichnungen entsprechen ihren Benutzernamen. (Alles in einer Domäne)
Also Benutzer ist z.B. user1234, also heisst der Ordner user1234.

Nun werden aber täglich nachts Dateien in die Ordner aktualisiert um sie auf dem neuesten Stand zu halten. Problem dabei ist, dass die Kontigente, die den Usern zugewiesen sind, dadurch verfälscht werden, unter anderem auch wenn Kollegen anderen Kollegen was in ihre Ordner kopieren.

Also habe ich folgendes Script ausprobiert mit der subinacl.exe aus dem Windows Resource Kit:

Code:

subinacl /file E:\Produktionsordner\user1234 /setowner=domäne.de\user1234
subinacl /subdirec E:\Produktionsordner\user1234\*.* /setowner=domäne.de\user1234

Funktioniert auch alles wunderbar per Batch.
ABER das ist sehr unsauber und wartungsaufwendig. Sprich ich muss jeden einzelnen User händisch in die Batch aufnehmen und jedes Mal wenn ein Kollege die Firma verlässt oder hinzukommt, muss die Batch ergänzt werden. Da hat bei uns leider keiner die Zeit für, da täglich pro Server bis zu 20 Scripts laufen. Und wenn man jedes anpassen müsste... na ja. Viel Spaß


Also meine Frage wäre:

Kann man irgendwie in der Batch die Ordnernamen auslesen lassen und diesen dann anstelle des Benutzers setzen? Und das Ganze als Schleife, bis alle Ordner in dem Produktionsordner abgearbeitet sind?

Versteht ihr was ich meine? Will das halt nicht so unsauber laufen lassen.
Kann mir da jemand auf die Sprünge helfen? Bin nicht gerade der Scriptgott. Ich suche natürlich parallel im Netz nach Möglichkeiten, aber es kann ja sein, dass jemand schonmal die Problematik hatte.


Danke und viele Grüße
schaefff
Mitglied: Miyamoto
22.07.2010 um 10:59 Uhr
Hi,
was du meinst ist glaube ich das

01.
@ECHO OFF 
02.
 
03.
SET pfad=E:\Produktionsordner 
04.
 
05.
for /f %%i IN ('dir /B /O:N %pfad%') do ( 
06.
 
07.
	subinacl /file %pfad%\%%i /setowner=domäne.de\%%i 
08.
	subinacl /subdirec %pfad%\%%i\*.* /setowner=domäne.de\%%i 
09.
	 
10.
)
Gruß Miyamoto

ps: es ist ungetestet
Bitte warten ..
Mitglied: mc-doubleyou
22.07.2010 um 11:00 Uhr
Hallo,

an und für sich müsstet du da mit Variablen weiter kommen bzw müsst es auch möglich sein den gesamten Produktionsordner zu wählen also jeder Ordner in diesem Ordner.

mc-doubleyou
Bitte warten ..
Mitglied: bastla
22.07.2010 um 11:08 Uhr
Willkommen im Forum, schaefff!

@Miyamoto
Da es ja nur um Ordner gehen soll, böte sich (genauso ungetestet ) eher "for /d" (oder zumindest ein"/ad" im "dir"-Befehl) an:
01.
@ECHO OFF & setlocal 
02.
SET pfad=E:\Produktionsordner 
03.
for /d %%i IN ("%pfad%\*.*") do ( 
04.
 
05.
	subinacl /file "%%i" /setowner="domäne.de\%%~nxi" 
06.
	subinacl /subdirec "%%i\*.*" /setowner="domäne.de\%%~nxi" 
07.
	 
08.
)
Grüße
bastla
Bitte warten ..
Mitglied: schaefff
22.07.2010 um 11:25 Uhr
Hallo,

danke für die schnelle Resonanz. Super!

Werde mich mal gleich ans Testen machen. Muss nur kurz ne kleine Testumgebung schaffen, denn wenn ich Mist mach, können 30 Mann nicht arbeiten.
Ich gebe dann bescheid inwieweit das funktioniert hat.

Vielen Dank schonmal.

Grüße
schaefff
Bitte warten ..
Mitglied: schaefff
22.07.2010 um 14:31 Uhr
Hi nochmals,

funktionieren beide Varianten problemlos und schnell. Danke dafür nochmal!
Ohne jetzt jemanden zu nahe treten zu wollen, aber welche wäre die bessere Variante?

Egal?

Grüße
schaefff
Bitte warten ..
Mitglied: schaefff
23.07.2010 um 15:54 Uhr
Moin alle zusammen,

eine Frage habe ich noch:

Die batch funktioniert ohne Probleme, nun möchte ich aber eine Logfunktion implementieren.
Dazu möchte ich gerne wissen, ob es möglich ist in der batch eine Abfrage ins AD zu erlauben, die checkt ob der User überhaupt existiert.
weil wenn ein Ordner System heisst, und der User "System" im AD nicht existiert, soll ein Fehler ins Log geschrieben werden,
genau wie, wenn die Datei noch offen ist und die Besitzrechte nicht geändert werden konnten.

Soweit so gut:

@echo off & setlocal
echo Startzeit %DATE% - %time% >> C:\Produktionsordner\_LOG\copy.log

SET pfad=C:\Produktionsordner

for /d %%i IN ("%pfad%\*.*") do (

subinacl /file "%%i" /setowner="domäne.de\%%~nxi"
subinacl /subdirec "%%i\*.*" /setowner="domäne.de\%%~nxi"

HIER MÜSSTE DIE ABFRAGE HIN UND WENN NEGATIV -> ERRORLEVEL 1

if errorlevel 0 echo [OK] - Besitzer für Verzeichnis %%i auf Benutzer %%~nxi erfolgreich geändert >> C:\Produktionsordner\_LOG\copy.log
if errorlevel 1 echo [FEHLER] - Besitzer für Verzeichnis %%i konnte nicht auf Benutzer %%~nxi geändert werden >>C:\Produktionsordner\_LOG\copy.log

)
echo Endzeit %DATE% - %time% >> C:\Produktionsordner\_LOG\copy.log




Wisst ihr zufällig wie ich das anstellen kann?

Danke

Viele Grüße
schaefff
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Ordnername auslesen und verwenden
gelöst Frage von zamsi7Batch & Shell3 Kommentare

Hallo an alle, hoffe ich bin hier richtig und jemand kann mir helfen :) Ich möchte eine cert Datei ...

Batch & Shell
Mehrere Ordnernamen auslesen und in eine Variable schreiben
gelöst Frage von schmithoBatch & Shell5 Kommentare

Hallo zusammen, ich versuche verzweifelt eine Lösung eines Problems zu finden, wie ich den Namen mehrere Ordner in eine ...

Batch & Shell
Per Batch Ordnername auslesen und an richtigen Ort verschieben
gelöst Frage von Ohop3nBatch & Shell4 Kommentare

Hallo Leute Ich bin neu hier und bräuchte mal eure Hilfe. Es geht um eine automatisierte Datensicherung von USB ...

Batch & Shell
Ordnernamen aus Dateinamen erstellen
Frage von Dr.ByteBatch & Shell1 Kommentar

Hi Gemeinde, benötige ein kleines Tool. Es liegen ca 100 Dateien in einem Ordner. Ich bräuchte nun ein Tool ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless8 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing7 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...