Bat file wil niet werken

Pagina: 1
Acties:
  • 68 views sinds 30-01-2008

  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 20:15

Falcon10

Hit it i would !

Topicstarter
Ik zit met een probleempje met een bat file die niet doet wat ie moet.
De batfile bestaat eigenlijkalleen uit if lussen die nakijken of de gebruiker die aanlogt voorkomt in de bat file en vervolgens een mapping legt.

de ganse bat file bestaat dus uit de volgende code :

code:
1
2
3
4
5
6
7
8
9
10
11
if @userid = "gebruiker1"
              USE F: "\\server\gebruiker1"
endif

if @userid = "gebruiker2"
              USE F: "\\server\gebruiker2"
endif

if @userid = "gebruiker3"
              USE F: "\\server\gebruiker3"
endif


als ik de bat file echter uitvoer krijg ik volgende melding :

= niet verwacht op dit moment.

en er worden dus geen mappings gemaakt.

Iemand enig id wat er niet klopt aan men bat file ?

-| Hit it i would ! |-


  • Justifier
  • Registratie: December 2004
  • Laatst online: 06-04-2024
Probeer eens == vanplaats =. Misschien werkt dat.

  • cyspoz
  • Registratie: September 2001
  • Laatst online: 25-02 12:28

cyspoz

Relaxed, het zijn maar 1 en 0

Volgens mij kun jij beter omgevingsvariabelen gebruiken USER F "\\server\%username%" Dan hoef je ook geen oneindige if statement te maken.

[ Voor 13% gewijzigd door cyspoz op 17-04-2006 17:14 ]


Verwijderd

%username% ipv @userid is inderdaad wat je zoekt. En dan een net use f: "\\server\%username%" standaard windows loginscript gedoe btw ;)

  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 20:15

Falcon10

Hit it i would !

Topicstarter
mja, dacht ook dat het standaard logon gedoe is, nogthans geeft het niets :?

heb nu enkel volgende regels in de bat file staan :

code:
1
2
3
if %userid% = "loginnaam"
    USE F: "\\servernaam\%userid%"
endif


en nu krijg ik de foutmelding : de syntaxis van de opdracht is onjuist.
if = "gebruikersnaam"

-| Hit it i would ! |-


  • Exterazzo
  • Registratie: Mei 2000
  • Laatst online: 21:33

Exterazzo

Qeasy

Falcon10 schreef op maandag 17 april 2006 @ 18:40:
mja, dacht ook dat het standaard logon gedoe is, nogthans geeft het niets :?

heb nu enkel volgende regels in de bat file staan :

code:
1
2
3
if %userid% = "loginnaam"
    USE F: "\\servernaam\%userid%"
endif


en nu krijg ik de foutmelding : de syntaxis van de opdracht is onjuist.
if = "gebruikersnaam"
Je moet de hele IF statement weglaten, gewoon alleen:
code:
1
USE F: "\\servernaam\%userid%"

Audentia


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

%userid% moet je dan nog altijd zelf eerst declareren.

%username% niet.

Wat voor server hebben we het hier over?

[ Voor 23% gewijzigd door alt-92 op 17-04-2006 18:48 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • PipoDeClown
  • Registratie: September 2000
  • Niet online

PipoDeClown

Izze Zimpell

is dit windows of novell (NET USE of alleen USE)?

probeer ook eens met
code:
1
2
3
echo on
...
pause

zodat je ziet waar het voud gaat

[ Voor 5% gewijzigd door PipoDeClown op 17-04-2006 18:53 ]

God weet alles, want hij is lid van de Mosad. To protect your freedom i will take that away from you. Mijn drankgebruik heeft ernstig te lijden onder mijn gezondheid.


  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 20:15

Falcon10

Hit it i would !

Topicstarter
't is een WIndows 2003 Standard server.

logon script wordt uitgevoerd door Kix.

die roept dus de file op normaal.

bat file bestaat ook alleen maar uit dus de verschillende if syntaxen, niets anders, enkel de regels die ik al gepost heb.

[ Voor 37% gewijzigd door Falcon10 op 17-04-2006 19:01 ]

-| Hit it i would ! |-


Verwijderd

Voor mappen van 'homedirs' heb je geen kix32 nodig. Wat ik eerder neerzette is voldoende. Echter moeten de shares dan ook wel aangemaakt zijn. Als je xp/2000 client hebt kan je de home dir ook gewoon in vullen in de account eigenschappen.

  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 20:15

Falcon10

Hit it i would !

Topicstarter
ja, maar sommige gebruikers moeten nog meer mappings krijgen dan enkel de homedir.

bv nog een mapping : \\server\afdeling1 en \\server\project4 etc etc

als ik gewoon NET USE F: "\\server\%username% doe krijg ik wel de mapping, maar dan heb ik nog geen controle op de gebruiker. Aangezien er een 60 tal users zijn, die elk zowat andere mappings krijgen, moet ik dus eerst dmv if een onderscheid maken zodat voor elke gebruiker de juiste mappings worden gemaakt.

[ Voor 51% gewijzigd door Falcon10 op 17-04-2006 19:09 ]

-| Hit it i would ! |-


Verwijderd

Aha in dat geval zal ik in ieder geval if ingroup gaan gebruiken om te zorgen dat je script overzichtelijk blijft.

Home dirs mappen met use moet volgens mij op de volgende manier met kix (is alweer een tijdje geleden): USE F:"\\server\"+@Userid hoewel de %username% gemakkelijker is.

IF INGROUP ("groupnaam") kan je gebruiken om mappings te maken gebaseerd op group lidmaatschap.


Ps ik zou je topicstart even aanpassen. Melden dat het om win2003 + KIX32 scripting gaat en dat je meer wilt dan alleen homedirs mappen.

[ Voor 47% gewijzigd door Verwijderd op 17-04-2006 19:18 ]


  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 20:15

Falcon10

Hit it i would !

Topicstarter
Ze zijn eignelijk maar in 2 hoofdgroepen verdeeld, waar iedereen trouwens inzit.
Vandaar dat ik een controle op de gebruikesnaam moet doen, omdat de mappings voor elke gebruiker naar een andere share op de server gaan.

-| Hit it i would ! |-


  • cjdijk
  • Registratie: Oktober 2001
  • Laatst online: 02-03 08:41

cjdijk

Hans favoriete radiostation

Als het om een batchfile gaat (eindigt met .bat), dan moet het dit zijn:

code:
1
2
3
4
5
6
7
@echo off
if "%username%"=="gebruiker1" NET USE F: "\\server\gebruiker1"
if "%username%"=="gebruiker2" NET USE F: "\\server\gebruiker2"
if "%username%"=="gebruiker3" NET USE F: "\\server\gebruiker3"
if "%username%"=="gebruiker1" NET USE H: "\\server2\gebruiker1"
if "%username%"=="gebruiker2" NET USE H: "\\server2\gebruiker2"
if "%username%"=="gebruiker3" NET USE H: "\\server2\gebruiker3"


Volgens mij werkt endif niet een een batchfile (misschien wel met kix32?),
maar zoals hij hierboven staat werkt het altijd,
ook als je geen externe programma's zoals kix32 gebruikt.

P.S. Even voor de duidelijkheid een extra driveletter H: gedaan,
dan kun je zien hoe dat toegepast moet worden.

Mogelijkheid 2 (met goto).
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
goto %username%

:Onbekend
echo Definitie voor %username% ontbreekt in deze batchfile.
goto einde

:gebruiker1
NET USE F: "\\server\gebruiker1"
NET USE H: "\\server2\gebruiker1"
goto einde

:gebruiker2
NET USE F: "\\server\gebruiker2"
NET USE H: "\\server2\gebruiker2"
goto einde

:gebruiker3
NET USE F: "\\server\gebruiker3"
NET USE H: "\\server2\gebruiker3"
goto einde

:einde

[ Voor 47% gewijzigd door cjdijk op 17-04-2006 19:38 . Reden: goto toegevoegd ]

P4-3.2GHz Asus P4C800 Deluxe ATI-AIW Radeon 512MB 360GB


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Falcon10 schreef op maandag 17 april 2006 @ 19:07:
ja, maar sommige gebruikers moeten nog meer mappings krijgen dan enkel de homedir.


als ik gewoon NET USE F: "\\server\%username% doe krijg ik wel de mapping, maar dan heb ik nog geen controle op de gebruiker. Aangezien er een 60 tal users zijn, die elk zowat andere mappings krijgen, moet ik dus eerst dmv if een onderscheid maken zodat voor elke gebruiker de juiste mappings worden gemaakt.
Erhm...
Elk zowat afzonderlijke mappings?
Dan lijkt het me hoog tijd dat je je omgeving wat gaat sanitizen.

Sowieso kun je beter een uniforme wijze van werken aanhouden (dus %homedrive% lekker in je ADUC account properties definieren, maak een disabled template user aan eventueel).

Zorg dat je wat meer uniforme share/driveletters kan hanteren en begin nou eens niet gelijk met F: maar verderop. (extra lokale disk devices enzo).

Gebruik groepen om rechten op de boel te verdelen en OUs om afhankelijk van taak/functie via GPO en scripts verdere mappings aan te maken.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Verwijderd

Falcon10 schreef op maandag 17 april 2006 @ 19:29:
Ze zijn eignelijk maar in 2 hoofdgroepen verdeeld, waar iedereen trouwens inzit.
Vandaar dat ik een controle op de gebruikesnaam moet doen, omdat de mappings voor elke gebruiker naar een andere share op de server gaan.
Wow en dan 60 gebruikers dat wordt veel tikken en veel if's. Of voor iedere gebruiker een eigen login script. Op meerder manieren aan te roepen, of %username%.bat/kix whatever opnemen in het profiel. Of vanuit een centraal script (kix of windows) call @userid.kix / %username%.bat.

Niet erg efficient iig, is het geen mogelijkheid om te kijken of er meerdere gebruikers dezelfde mappings (behalve homedir) gebruiken en die in een groep te doen?

Anyway succes, ik ga even Oblivionen

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

En een maintenance nightmare.

Documenteren is er ook vast niet bij, dat belooft wat als je van geluk onder de trein komt.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • Falcon10
  • Registratie: Mei 2002
  • Laatst online: 20:15

Falcon10

Hit it i would !

Topicstarter
cjdijk : je beide opties lijken te werken lokaal, maar als ik ze laat uitvoeren dmv Kix dan doet ie het niet.
Ik hernoem da bat file dan gewoon naar een .kix file, omdat Kix blijkbaar niet graag met bat files wil werken.

-| Hit it i would ! |-


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Dit heeft geen zin - het is natuurlijk niet de bedoeling dat je hier elke stap, stap voor stap voorgekauwd gaat worden door ons.

Je hebt in je vorige topics al laten zien dat je eigenlijk niet zo heel goed weet waar je mee bezig bent - maar dit illustreert dat nog eens. Nu is dat helemaal niet erg, maar ik mis in alle drie die topics (dez, [rml][ 2003] Netlogon share bestaat niet ?[/rml] en [rml][ 2003] Kixtart: starten van script voor users*[/rml]) eigen inzet van jouw kant en dat vinden we toch wel belangrijk.

Dit topic gaat dan ook dicht.
Pagina: 1

Dit topic is gesloten.