Toon posts:

[KIX] Loginscript CTX

Pagina: 1
Acties:

Verwijderd

Topicstarter
Uitleg script:

In het eerste gedeelte wordt het IP-adres gesplitst het 3rde octet is belangrijk.
dit is het filliaalnummer.

In het tweede gedeelte wordt de naam van de printer opgesplitst.
het eerste gedeelte geeft aan welk land het is dus DE, NL, BE
het tweede gedeelte geeft weer het filiaalnummer aan bij DE164
daarna volgt de printer naam

nu zoekt het script de bijbehorende ip adres aan de printer naam en voegt
deze toe aan de gebruiker.

dit script werkt perfect alleen als ik dus nu een nieuwe printer moet toevoegen moet ik dit
handmatig doen op elke citrix server (op het moment al 8 srv ). dit script werkt fijn in een kleine omgeving maar het is nu niet meer beheerbaar.

Ik had als idee om in plaats van het register van de CTX servers uit te lezen dit via een filetje te doen die gewoon in de NETLOGON map staat. kan iemand mij op weg helpen. _/-\o_


;Read IP Address from temp file with clientinfo
$file="%temp%\clntnfo.tmp"
$ClntIPadr=ReadProfileString($file,"WFClientNFO","WFClientAddress")

; Debug only - ? "Client IP Address: " + $ClntIPadr

;Split the IP Address into 4 separated strings
$1st=LTrim(Split($ClntIPadr,'.')[0])
$2nd=LTrim(Split($ClntIPadr,'.')[1])
$3rd=LTrim(Split($ClntIPadr,'.')[2])
$4th=LTrim(Split($ClntIPadr,'.')[3])

;If the IP Subnet address is shorter then three characters then add zero's until the Subnet is tree characters long.
$zero1 = "0"
$zero2 = "00"
$length = Len($3rd)
$addip = "245"


$Index=0
:Loop1
$PrinterName[$index] = EnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\LanMan Print Services\Servers\$PrtServerReg\Printers\", $Index)
If @ERROR = 0
;Debug only - ? "Printer: " + $PrinterName[$index]
$LandCode = SubStr($PrinterName[$index],1,2)
$Filnr = SubStr($PrinterName[$index],3,3)
$Prtxx = SubStr($PrinterName[$index],9,2)
;Debug only - ? "LandCode: " + $LandCode
;Debug only - ? "Filiaalnr: " + $Filnr
;Debug only - ? "Printernr: " + $Prtxx

? "Printer: " + $PrinterName[$index]

If $3rd = $Filnr
$PrtCon = $LandCode + $Filnr + $Type + $Prtxx
If AddPrinterConnection ($PrtServer + $PrtCon) = 0 ;Add Printer
? "Added printer connection: " + $PrtServer + $PrtCon
If $Prtxx = "01"
If SetDefaultPrinter($PrtServer + $PrtCon) = 0 ;Set default printer
? "Set default printer to: " + $PrtServer + $PrtCon
EndIf
EndIf
EndIf
EndIf
$Index = $Index + 1
GoTo Loop1
EndIf

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 12:58

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Verwijderd schreef op donderdag 16 november 2006 @ 08:53:
dit script werkt perfect alleen als ik dus nu een nieuwe printer moet toevoegen moet ik dit
handmatig doen op elke citrix server (op het moment al 8 srv ). dit script werkt fijn in een kleine omgeving maar het is nu niet meer beheerbaar.
Wat bedoel je precies met printer toevoegen op de Citrix server? En waarom is het script niet meer beheersbaar?

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


Verwijderd

Topicstarter
Hij leest dit script uit vanaf de CTX server waar de gebruiker inlogt. dus als er een nieuwe printer komt moet ik deze op 8 servers aanmaken. met beheersbaar bedoel ik dat het gewoonweg te lang duurt voordat alle printers gescanned zijn en de performance van de CTX server daalt hierdoor

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 27-03 07:56

Koffie

Koffiebierbrouwer

Braaimeneer

Als je 8 servers beheerd, en dan ook nog Citrix dozen, denk ik dat het tijd word om van 'simpel' Kix af te stappen en naar iets anders te gaan.
Bijvoorbeeld PowerFuse of ScriptLogic/Desktop Authority

Move PNS > NT

Tijd voor een nieuwe sig..