Toon posts:

[nt4.0] automatisch mappen met rechten maken

Pagina: 1
Acties:
  • 226 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Mensen,

Ik moet een scriptje maken waardoor er een map aangemaakt wordt met verschillende submappen.

ik moet dus een batch file hebben in de geest van "projekt 20029396 (variabel)"

en dan maakt ie automatisch een map 20029396 aan onder \\server\sharenaam

met daaronder de mappen
verkoop
elektro
produktie
engineers

en op elke map bepaalde rechten.

Nou zou ik dus heel eenvoudig kunnen zeggen
code:
1
2
3
4
5
@echo off

cd \\servernaam\sharenaam
md 20023654
copy \\servernaam\sharenaam\sjabloon\*.* \\servernaam\sharenaam\20023654

maar NTFS verliest zijn permissies bij een copy opdracht, bij een move opdracht behoudt ie zijn permissies, maar dat werkt ook niet echt.

hellup

  • wildhagen
  • Registratie: Juni 1999
  • Niet online

wildhagen

Blablabla

Moet je even XCACLS uit de Resource Kit halen en die gaan gebruiken (zie de Help), daarmee kan je rechten uitdelen, ook in een script.

Met SetOwner.exe (ook uit die kit) kan je indien nodig het ownership nog aanpassen.

Overigens, ik neem aan dat je in je script met variabelen werkt, en niet met hardcoded namen zoals in je voorbeeld hier?

Virussen? Scan ze hier!


Verwijderd

Topicstarter
Op donderdag 02 mei 2002 09:20 schreef wildhagen het volgende:
Moet je even XCACLS uit de Resource Kit halen en die gaan gebruiken (zie de Help), daarmee kan je rechten uitdelen, ook in een script.

Met SetOwner.exe (ook uit die kit) kan je indien nodig het ownership nog aanpassen.

Overigens, ik neem aan dat je in je script met variabelen werkt, en niet met hardcoded namen zoals in je voorbeeld hier?
idd variabelen, ik weet het commando niet, maar dat is niet zo moeilijk.

ik ben daar al eerder mee aan het stoeien geweest, maar het wil me niet lukken met cacls. Heeft iemand mischien een voorbeeld?

om bijv bij het invullen van projekt 123456 een projektmap te maken met 123456 op die map alleen readonly voor iedereen, en voor administrators full control
en vervolgens een map elektro en verkoop waarop de iedereen read rechten heeft en de groepen electro en verkoop van domein citrixnon full control heeft?

  • Smurff
  • Registratie: Maart 2001
  • Niet online
duik eens in Vb Script.
of zoek ff met google en steel script pas het aan en klaar *D

  • wildhagen
  • Registratie: Juni 1999
  • Niet online

wildhagen

Blablabla

xcacls \\server\123456 /T /G Everyone:R /G Administrators:F /Y

(/T = all subdirs and files)
(/G = user:permissie (R= Read, C= Change, F= Full Control etc)
(/Y = vraag niet om bevestiging)

Die sowieso. Nu komen er twee waar ik niet helemaal zeker van ben, ik werk met single-domain model, geen multiple domain. Dit is dus even een kwestie van proberen.

xcacls \\server\123456\elektro /G CITRIXNON\electro:F /Y
xcacls \\server\123456\elektro /G CITRIXNON\verkoop:F /Y

Uiteraard moet je hiervoor nog die dirs aanmaken, maar daar heb je zelf idd al de goede stukken voor geschreven.

Virussen? Scan ze hier!


Verwijderd

Topicstarter
hoe maak ik nou een variabel dan?

dus ik maak een batch file genaam projekt

ik zeg projekt %variabel%

en in batch file staat

md %variabel%

hoe werkt dit precies?

Verwijderd

aanroepen:
batchfile 123456 789

in de batch file:

md %1
md %2

waarbij %1=123456
en %2=789

Verwijderd

Topicstarter
waar ik bang voor was gebeurt dus weer

dat hele cacls werkt gewoon niet

ik heb dit in een batchfile staan

@ECHO OFF

cd d:\projekt
md 123456
cd d:\projekt\123456
md verkoop
md elektro

cacls d:\projekt\123456 /T /G Everyone:R /G Administrators:F /Y

cacls d:\projekt\123456\verkoop /G CITRIXNON\verkoop:F /Y

hij maakt map 123456
daaronder de mappen vekoop en elektro, maar rechten, ho maar....

wat gaat er nou verkeerd?

  • wildhagen
  • Registratie: Juni 1999
  • Niet online

wildhagen

Blablabla

makkelijkste is om parameters op de commandline te gebruiken.

md \\server\%1
rmtshare \\server\%1=\\server\%1 /GRANT Everyone:Read /GRANT Administrators: Full Control
xcacls \\server\%1 /T /G Everyone:R /G Administrators:F /Y
xcacls \\server\%1\elektro /G CITRIXNON\electro:F /Y
xcacls \\server\%1\elektro /G CITRIXNON\verkoop:F /Y

(van die laatste 2 weet ik het dus niet zeker, zoals ik hierboven al zei).

RMTSHARE.EXE vind je ook in de resourcekit overigens, hiermee kan je dus dirs aanmaken.

Stel: jij noemt dit script maakdir.bat. Dan is de syntax maakdir 123456.

Virussen? Scan ze hier!


Verwijderd

Topicstarter
zover ben ik nou dus

ik vul in projekt 654321

en hij maakt een map 654321 aan
met daaronder
verkoop
elektro

alleen cacls werkt nog niet
als ik gewoon invul

cacls elektro /g administrators:F

dan doet ie keurig de administrators full control geven op die map, maar alleen de administrator's van pc_aks (mijn lokale computer).

als ik invul

cacls elektro /g citrixnon\administrators:F

dan zegt ie

Er is geen toewijzing uitgevoerd tussen accountnamen en beveiligings-ID's.

het zit dus in het domein verhaal

  • wildhagen
  • Registratie: Juni 1999
  • Niet online

wildhagen

Blablabla

Hmm.... shit, dan loop je dus tegen dat multi-domain verhaal aan.

Ik vrees dat ik daar geen ervaring mee heb en je dus niet verder kan helpen :'(... anyone else een idee?

Virussen? Scan ze hier!


Verwijderd

Topicstarter
misschien een commando als runas, dat de batchfile wordt uitgevoerd als zijnde een citrixnon/administrator?

ps. dat gebeurt nou eigenlijk ook al, want zo ben ik ingelogt

Verwijderd

Topicstarter
als ik via citrix een cmd venster naar voren haal en vervolgens
code:
1
cacls g:\projejekt\123456 /g verkoop:F

doe, dan werkt het wel, dus misschien een published application maken in citrix, ik probeer ff verder

Verwijderd

Topicstarter
okay, het volgende gedaan

Ik heb de command line gepublished met citrix.

als mensen daarop dubbelklikken hebben ze een commandline van de server

vervolgens het batch bestand in de %windir%\system32 gezet

als ze op de commandline drukken komen ze uit in hun homedir.

als ze dan het commande geven projekt test

gebeurt er het volgende
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@ECHO OFF

net use g: /d
net use g: \\NTNON04\bedrijfsdata

g:
cd projekt
md %1
cd %1
md verkoop
md elektro

cacls g:\projekt\%1 /G Everyone:R /G Administrators:F /Y

cacls g:\projekt\%1\verkoop /G verkoop:F /Y

hij maakt dus keurig de %1 aan, en ook de verkoop en electro map, alleen maakt ie de rechten nou weer niet

volgens mij snapt cacls %1 niet.

met de hand projekt nummer invullen werkt namelijk wel

Verwijderd

zet g:projekt\%1 ff tussen quote-jes in je batchfile. misschien dat ie em dan wel pikt.
Pagina: 1