Op het moment ben ik bezig met het inrichten van een uitwissel platform voor data.
Hiervoor heb ik verschillende maatregels getroffen, zowel technisch als procedureel.
Technisch o.a.:
- Rechten op de map.
- HTTP Basic authentication.
- De verbinding over https.
- Het verkeer gaat door een firewall.
- Op de netscaler wordt bovendien een IP filter toegepast om alleen het IP toe te laten dat vereist is.
- De 2k8r2 server wordt op het meest recente patch level gehouden.
Procedureel o.a:
- Er worden afspraken gemaakt met de 3e partij wanneer de data beschikbaar moet zijn.
- IIS services worden gestopt wanneer deze niet nodig zijn, en gestart wanneer deze wel nodig zijn.
- Ook worden de user accounts alleen enabled wanneer deze nodig zijn en hebben deze niet meer rechten dan nodig.
- De bestanden dienen na het downloaden of de afgesproken tijd te worden verwijderd.
Echter ben ik nog bezig met de laatste maatregel, hier heb ik namelijk een batch/cmd scriptje voor geschreven, alleen krijg ik het niet voor elkaar zowel bestanden als directories te verwijderen en tegelijkertijd ook de mappen structuur in stand te houden.
Het scriptje zou in de ideale situatie alle leveranciers (leveranciers mappen zijn variable) mappen door moeten loopen en dan alle bestanden/mappen verwijderen (recursive) en de leverancier map intact moeten laten. Dit wil ik zo doen om de structuur met de daarbij horende rechten in tact te laten.
Probleem blijft dat wanneer ik het RD commando gebruik ook de leveranciers mappen worden verwijderd en dat je geen wildcards (*/?) kan gebruiken, en met het DEL commando kan je weer geen mappen verwijderen en wel wildcards gebruiken.
Gewenste situatie > mappen structuur voor draaien batch/cmd bestand:
[+]----[Public map]
[+]—[Leverancier 1]
[+]—[map1]
[+]—[map1]
—bestand1.txt
—bestand2.txt
—bestand3.txt
[+]—[Leverancier 2]
—bestand1.txt
—bestand2.txt
—bestand3.txt
[+]—[Leverancier 3]
[+]—[map1]
[+]—[map1]
[+]—[Leverancier 4]
[+]—[map1]
—bestand1.txt
Gewenste situatie > mappen structuur na draaien batch/cmd bestand:
[+]----[Public map]
[+]—[Leverancier 1]
[+]—[Leverancier 2]
[+]—[Leverancier 3]
[+]—[Leverancier 4]
Ik heb het nu opgelost met een vrij statisch script dat dus wel de bestanden verwijderd na 1 dag, echter niet de gecreëerde mappen in de leveranciers mappen.
set logfile=%cd%\log\removed on %date:/=-%.txt
set source=C:\inetpub\wwwroot\****
set x_days=1
echo ***** DIRECTORYs and FILES DELETED ON %date:/=-% ****** > "%logfile%"
echo. >> "%logfile%"
echo. >> "%logfile%"
dir /s %source% >> "%logfile%"
forfiles /s /p %source% /d -%x_days% /c "cmd /c if @ISDIR==TRUE del /F /S /Q @FILE"
forfiles /s /p %source% /d -%x_days% /c "cmd /c del /F /S /Q @FILE"
echo. >> "%logfile%"
echo. >> "%logfile%"
echo ***** EOF ****** >> "%logfile%"
Heeft iemand hier ervaring mee? Ik loop gewoon steeds tegen de limitaties van de commando’s DEL en RD aan
Wellicht dat het mogelijk is de hoofdmap (public) uit te lezen en allen mappen (leveranciers) in een variable te stoppen of in een *.txt bestand, en dan vervolgens een loop te doen over deze variable… echter is mijn programmeer kennis hiervoor te beperkt….
Hiervoor heb ik verschillende maatregels getroffen, zowel technisch als procedureel.
Technisch o.a.:
- Rechten op de map.
- HTTP Basic authentication.
- De verbinding over https.
- Het verkeer gaat door een firewall.
- Op de netscaler wordt bovendien een IP filter toegepast om alleen het IP toe te laten dat vereist is.
- De 2k8r2 server wordt op het meest recente patch level gehouden.
Procedureel o.a:
- Er worden afspraken gemaakt met de 3e partij wanneer de data beschikbaar moet zijn.
- IIS services worden gestopt wanneer deze niet nodig zijn, en gestart wanneer deze wel nodig zijn.
- Ook worden de user accounts alleen enabled wanneer deze nodig zijn en hebben deze niet meer rechten dan nodig.
- De bestanden dienen na het downloaden of de afgesproken tijd te worden verwijderd.
Echter ben ik nog bezig met de laatste maatregel, hier heb ik namelijk een batch/cmd scriptje voor geschreven, alleen krijg ik het niet voor elkaar zowel bestanden als directories te verwijderen en tegelijkertijd ook de mappen structuur in stand te houden.
Het scriptje zou in de ideale situatie alle leveranciers (leveranciers mappen zijn variable) mappen door moeten loopen en dan alle bestanden/mappen verwijderen (recursive) en de leverancier map intact moeten laten. Dit wil ik zo doen om de structuur met de daarbij horende rechten in tact te laten.
Probleem blijft dat wanneer ik het RD commando gebruik ook de leveranciers mappen worden verwijderd en dat je geen wildcards (*/?) kan gebruiken, en met het DEL commando kan je weer geen mappen verwijderen en wel wildcards gebruiken.
Gewenste situatie > mappen structuur voor draaien batch/cmd bestand:
[+]----[Public map]
[+]—[Leverancier 1]
[+]—[map1]
[+]—[map1]
—bestand1.txt
—bestand2.txt
—bestand3.txt
[+]—[Leverancier 2]
—bestand1.txt
—bestand2.txt
—bestand3.txt
[+]—[Leverancier 3]
[+]—[map1]
[+]—[map1]
[+]—[Leverancier 4]
[+]—[map1]
—bestand1.txt
Gewenste situatie > mappen structuur na draaien batch/cmd bestand:
[+]----[Public map]
[+]—[Leverancier 1]
[+]—[Leverancier 2]
[+]—[Leverancier 3]
[+]—[Leverancier 4]
Ik heb het nu opgelost met een vrij statisch script dat dus wel de bestanden verwijderd na 1 dag, echter niet de gecreëerde mappen in de leveranciers mappen.
set logfile=%cd%\log\removed on %date:/=-%.txt
set source=C:\inetpub\wwwroot\****
set x_days=1
echo ***** DIRECTORYs and FILES DELETED ON %date:/=-% ****** > "%logfile%"
echo. >> "%logfile%"
echo. >> "%logfile%"
dir /s %source% >> "%logfile%"
forfiles /s /p %source% /d -%x_days% /c "cmd /c if @ISDIR==TRUE del /F /S /Q @FILE"
forfiles /s /p %source% /d -%x_days% /c "cmd /c del /F /S /Q @FILE"
echo. >> "%logfile%"
echo. >> "%logfile%"
echo ***** EOF ****** >> "%logfile%"
Heeft iemand hier ervaring mee? Ik loop gewoon steeds tegen de limitaties van de commando’s DEL en RD aan
Wellicht dat het mogelijk is de hoofdmap (public) uit te lezen en allen mappen (leveranciers) in een variable te stoppen of in een *.txt bestand, en dan vervolgens een loop te doen over deze variable… echter is mijn programmeer kennis hiervoor te beperkt….
i7-6700K | Z170A XPOWER GAMING TITANIUM EDITION | InWin904 | 32GB Corsair Dominator Platinum | nVidia GeForce RTX2080 TI | Iiyama G-Master UWQH 34" | 2x 1TB Samsung SSD 980PRO | 1x 4TB Samsung 860EVO | Arctis 7 | SteelSeries Apex Pro | Logitech G502 Hero