[kixtart] Printer toewijzen aan computernaam

Pagina: 1
Acties:

  • HielkeJ
  • Registratie: Juli 2001
  • Niet online
Hallo,

Ik ben bezig met een klein test netwerk met een Windows 2000 server.

Nu wil ik dat computers waar bijvoorbeeld OLP in de computernaam staat dat die de printers krijgen die in het OLP lokaal staan.

Hoe kan ik dit het beste doen met kixtart?

Ik kan er met behulp van de site van Kixtart niet echt uitkomen, en op Google is ook niet veel te vinden hierover.

Wat in ieder geval niet goed werkt:
code:
1
2
3
If @WkSta = ("OLP*") = 1
;printertoevoegen
endif


Weet iemand hoe dit kan oplossen :?
alvast bedankt.

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 08-05 16:10

Koffie

Koffiebierbrouwer

Braaimeneer

Move NT > PW

Tijd voor een nieuwe sig..


  • Animal_X
  • Registratie: Januari 2000
  • Laatst online: 09-05 08:35

Animal_X

Rodin

code:
1
2
3
4
5
6
7
8
9
10
11
12
$NAME = READVALUE ("HKEY_CURRENT_USER\Volatile Environment", "CLIENTNAME")

SELECT
    CASE
        $NAME = "WKS1"
            USE LPT2: /delete
            USE LPT2: "\\printerserver\printernaam1"
    CASE
        $NAME = "WKS2"
            USE LPT2: /delete
            USE LPT2: "\\printerserver\printernaam2"
ENDSELECT


Zoiets bedoel je?

Edit-> oh zie dat je geen specifieke namen moet hebben, maar een variabele binnen een naam ook nog... hmmm ff denken...

[ Voor 50% gewijzigd door Animal_X op 20-04-2004 11:19 ]

"It's better to keep your mouth shut and give the impression that you're stupid than to open it and remove all doubt."


  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Dergelijke OS specifieke scripts horen niet thuis in p&w, maar in WOS (of in NOS).

P&W -> WOS

https://fgheysels.github.io/


  • HielkeJ
  • Registratie: Juli 2001
  • Niet online
Animal_X, bedankt voor je reactie, het is idd een grote kans dat we op de zelfde school zitten. (Friesland College)

Wij werken bij dit project met win2000 clients.
Wij hebben nu dit, maar nu moeten voor iedere computer een aparte regel maken.
Is er ook een manier om dat 01 te vervangen door een * oid :?

Zodat we de regel kunnen toepassen op iedere computer.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$wks=@wksta

If
 $WKS = "OLP01"
         AddPrinterConnection ("\\Printserver\OLP_laser01") = 1
     ? "Added printer connection...."
EndIf

If
 $WKS = "cad01"
         AddPrinterConnection ("\\Printserver\cad_laserjet") = 1
     ? "Added printer connection...."
EndIf

If
 $WKS = "infor01"
         AddPrinterConnection ("\\Printserver\infor_laser") = 1
     ? "Added printer connection...."
EndIf


alvast bedankt :)

  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 08-05 15:19
substr gebruiken:
code:
1
2
3
4
if substr(@wksta,1,3)="OLP")
   addprinterconnection
   setdefaultprinter
endif

of instr:
code:
1
2
3
4
if instr(@wksta,"OLP")=1
   addprinterconnection
   setdefaultprinter
endif

[ Voor 107% gewijzigd door Poltergeist op 22-04-2004 12:07 ]


  • Xiliath
  • Registratie: Oktober 2003
  • Laatst online: 30-10-2022
Wij gebruiken dit ook op school :)
Moet op deze manier:

Voorbeeld:

; afdrukaparaaten aanmaken

$CLNT=%clientname%
$WSTN=%COMPUTERNAME%

DelTree("Hkey_current_user\Printers")

$PRNT01="pr-ll11"
$PRNT02="pr-ll21"
$PRNT03="pr-ll22"
$PRNT04="pr-ll23"
$PRNT05="pr-ll24"
$PRNT06="pr-ll25"
$PRNT07="pr-ll26"
$PRNT08="pr-ll27"
$PRNT09="pr-ll28"
$PRNT10="pr-ll29"


SELECT
case $CLNT="WBT001" $PRNT="$PRNT05"
case $CLNT="WBT002" $PRNT="$PRNT05"
case $CLNT="WBT003" $PRNT="$PRNT05"
case $CLNT="WBT004" $PRNT="$PRNT05"
case $CLNT="WBT005" $PRNT="$PRNT05"
case $CLNT="WBT006" $PRNT="$PRNT05"
case $CLNT="WBT007" $PRNT="$PRNT05"
case $CLNT="WBT008" $PRNT="$PRNT05"
case $CLNT="WBT009" $PRNT="$PRNT05"
case $CLNT="WBT010" $PRNT="$PRNT05"
case $CLNT="WBT011" $PRNT="$PRNT05"
case $CLNT="WBT012" $PRNT="$PRNT05"
case $CLNT="WBT013" $PRNT="$PRNT05"
case $CLNT="WBT014" $PRNT="$PRNT05"
case $CLNT="WBT015" $PRNT="$PRNT05"
case $CLNT="WBT016" $PRNT="$PRNT05"
case $CLNT="WBT017" $PRNT="$PRNT05"
case $CLNT="WBT018" $PRNT="$PRNT05"
case $CLNT="WBT019" $PRNT="$PRNT05"
case $CLNT="WBT020" $PRNT="$PRNT05"
case $CLNT="WBT021" $PRNT="$PRNT05"
case $CLNT="WBT022" $PRNT="$PRNT05"
ENDSELECT

case $CLNT="zorg1DR" $PRNT="$PRNT09"
case $WSTN="zorg1DR" $PRNT="$PRNT09"
case $CLNT="zorg2DR" $PRNT="$PRNT09"
case $WSTN="zorg2DR" $PRNT="$PRNT09"
case $CLNT="zorg3DR" $PRNT="$PRNT09"
case $WSTN="zorg3DR" $PRNT="$PRNT09"
case $CLNT="zorg4DR" $PRNT="$PRNT09"
case $WSTN="zorg4DR" $PRNT="$PRNT09"
case $CLNT="zorg5DR" $PRNT="$PRNT09"
case $WSTN="zorg5DR" $PRNT="$PRNT09"
case $CLNT="zorg6DR" $PRNT="$PRNT09"
case $WSTN="zorg6DR" $PRNT="$PRNT09"
case $CLNT="zorg7DR" $PRNT="$PRNT09"
case $WSTN="zorg7DR" $PRNT="$PRNT09"
case $CLNT="zorg8DR" $PRNT="$PRNT09"
case $WSTN="zorg8DR" $PRNT="$PRNT09"

ENDSELECT


AddPrinterConnection("$PrinterServer\$PRNT")


met DelTree("Hkey_current_user\Printers")
verwijder je de huidige printers en met
AddPrinterConnection("$PrinterServer\$PRNT") voeg je een speciefieke printer toe
wat houdt dit in:

$CLNT=%clientname%
$WSTN=%COMPUTERNAME%

Gebruik het set commando in de command prompt om te kijken welke string gebruikt wordt voor de computernaam
(bij ons is het werkstation zelf "computername" en is een terminalserversessie "clientname"

succes :Y)

  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 08-05 15:19
wappie1980 schreef op 22 april 2004 @ 12:40:
Wij gebruiken dit ook op school :)

SELECT
case $CLNT="WBT001" $PRNT="$PRNT05"
case $CLNT="WBT002" $PRNT="$PRNT05"
case $CLNT="WBT003" $PRNT="$PRNT05"
case $CLNT="WBT004" $PRNT="$PRNT05"
case $CLNT="WBT005" $PRNT="$PRNT05"
case $CLNT="WBT006" $PRNT="$PRNT05"
case $CLNT="WBT007" $PRNT="$PRNT05"
case $CLNT="WBT008" $PRNT="$PRNT05"
case $CLNT="WBT009" $PRNT="$PRNT05"
case $CLNT="WBT010" $PRNT="$PRNT05"
case $CLNT="WBT011" $PRNT="$PRNT05"
case $CLNT="WBT012" $PRNT="$PRNT05"
case $CLNT="WBT013" $PRNT="$PRNT05"
case $CLNT="WBT014" $PRNT="$PRNT05"
case $CLNT="WBT015" $PRNT="$PRNT05"
case $CLNT="WBT016" $PRNT="$PRNT05"
case $CLNT="WBT017" $PRNT="$PRNT05"
case $CLNT="WBT018" $PRNT="$PRNT05"
case $CLNT="WBT019" $PRNT="$PRNT05"
case $CLNT="WBT020" $PRNT="$PRNT05"
case $CLNT="WBT021" $PRNT="$PRNT05"
case $CLNT="WBT022" $PRNT="$PRNT05"
ENDSELECT
Kan vervangen worden door drie regels:
code:
1
2
3
if substr($CLNT,1,4)="WBT0"
  $PRNT="$PRNT05"
endif
case $CLNT="zorg1DR" $PRNT="$PRNT09"
case $WSTN="zorg1DR" $PRNT="$PRNT09"
case $CLNT="zorg2DR" $PRNT="$PRNT09"
case $WSTN="zorg2DR" $PRNT="$PRNT09"
case $CLNT="zorg3DR" $PRNT="$PRNT09"
case $WSTN="zorg3DR" $PRNT="$PRNT09"
case $CLNT="zorg4DR" $PRNT="$PRNT09"
case $WSTN="zorg4DR" $PRNT="$PRNT09"
case $CLNT="zorg5DR" $PRNT="$PRNT09"
case $WSTN="zorg5DR" $PRNT="$PRNT09"
case $CLNT="zorg6DR" $PRNT="$PRNT09"
case $WSTN="zorg6DR" $PRNT="$PRNT09"
case $CLNT="zorg7DR" $PRNT="$PRNT09"
case $WSTN="zorg7DR" $PRNT="$PRNT09"
case $CLNT="zorg8DR" $PRNT="$PRNT09"
case $WSTN="zorg8DR" $PRNT="$PRNT09"
ENDSELECT
Kan ook veel korter:
code:
1
2
3
if substr($CLNT,1,4)="zorg" or substr($WKSTN,1,4)="zorg"
  $PRNT="$PRNT09"
endif

  • Xiliath
  • Registratie: Oktober 2003
  • Laatst online: 30-10-2022
Dat gaat helaas niet op. ik heb slechts een deel van m'n script gepost, omdat ie anders zo lang zou worden. Als je "wbt0" koppelt aan "$PRNT05" dan zullen ALLE WBT's die beginnen met 0 aan die printer toegevoegd worden. Laat ik nou 9 printers hebben in m'n script. Zelfde geldt voor de "zorg" beschrijving.

Wat ik wel mooi/handig zou vinden is als je een reeks kunt opgeven.
Bv: WBT001 t/m WBT 020 koppelen aan printer 1 en
WBT0021 t/m WBT 040 koppelen aan printer 2 enz.

Dit zou inderdaad erg handig zijn.
Verder maakt het niet veel uit, je kunt als copy/pasten :), je zit met zulke lange scripts er alleen mee dat je bij het inloggen elke keer die superlange lijst helemaal moet doorwerken.

  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 08-05 15:19
Reeksen zou je op deze manier kunnen doen

code:
1
2
3
4
Select 
  case $CLNT<"WBT0020" $PRNT="$PRNT05"
  case $CLNT<"WBT0040" $PRNT="$PRNT06"
endselect

Select case voert namelijk alleen de eerste expressie uit die waar is. Stel dat $CLNT "WBT0018" is, dan worden alleen de expressies uitgevoerd die bij het eerste CASE statement horen. De tweede CASE wordt niet eens meer uitgevoerd.

[ Voor 88% gewijzigd door Poltergeist op 23-04-2004 12:18 ]


  • HielkeJ
  • Registratie: Juli 2001
  • Niet online
Iedereen bedankt voor de tips tot zover, nu loop ik weer tegen een probleempje op.

Ik wil dat het script controleerd of een bestand bestaat, en als het bestand niet bestaat, dat hij dan het programma installeerd.

Het controleren gaat goed, maar het installeren niet.

Dit is wat ik heb:

code:
1
2
3
if exist ("C:\bestand.exe") = 0
run "//server/install/setup.exe
endif


Maar dit pakt hij niet, weet iemand een oplossing?

alvast bedankt.

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 08-05 16:10

Koffie

Koffiebierbrouwer

Braaimeneer

code:
1
2
3
if exist ("C:\bestand.exe") = 0
    shell "\\server\install\setup.exe"
endif


- Probeer het eens met Shell
- Je was een end quote vergeten

Wil niet lullig zijn hoor, maar heb je die dikke manual van Kix wel eens gedwonload en doorgeworsteld :?

Tijd voor een nieuwe sig..

Pagina: 1