Toon posts:

[citrix+kixscripting]printer koppelingen

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

Verwijderd

Topicstarter
Gegeven:
citrix server (win2k + metaframe xp)
werkstations
printer

Ik wil het volgende voor elkaar krijgen dmv een kix script:

1. Als groep A in logt op citrix vanaf werkstation 1 moet lpt2 gekoppeld worden aan default main client printer 1
2. Als groep A in logt op citrix vanaf werkstation 2 moet lpt2 gekoppeld worden aan default main client printer 2
3. Als groep A in logt op citrix vanaf ieder ander werkstation wordt de algemene lpt2 koppeling gebruikt (dit staat al in het script en geld in principe voor iedere gebruiker)

Nu had ik al een key gevonden in de registry waar de naam van het werkstation uitgelezen kan worden:

code:
1
2
3
4
5
6
7
IF INGROUP("A")
   READVALUE ("HKEY_CURRENT_USER\Volatile Environment", "CLIENTNAME")
   IF ?1 = "wks1" OR "wks2"
   USE LPT2: /delete
   USE LPT2: "?2"
   END IF
END IF


-Op de plaats van ?1 moet dus op een of andere manier een koppeling met de waarde CLIENTNAME gelegd worden
Gaat dit? Zo ja hoe heet deze macro of variabele?

-Op de plaats van ?2 moet de koppeling gelegd worden met de naam of variabele of whatever van de default main client printer
Kan dit? zo ja hoe?
Kan dit niet, wat is het alternatief?

Als dit sowieso op een andere manier te regelen is, ik sta uiteraard open voor suggesties

Mijn creativiteit laat me op t moment even in de steek iig

Verwijderd

Via batch scripting en de variabele %computername% lijkt mij dit eenvoudiger.
Anders, kix is wat te lang geleden voor mij maar onderstaande is een voorbeeldje wat een soortgelijke aanpak vraagt, en waar je wel mee verderkan


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$os_version=""
$os_version=ReadValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion","CurrentVersion")

SELECT
    CASE ($NT_mode = "yes") AND ($os_version = "5.0")
        if @USERID = "DC"
            messagebox ("
            USER 'DC' CANNOT LOGON ON A 'WINDOWS 2000' SYSTEM
            PLEASE USE USER 'DC2000' INSTEAD !
            THIS SYSTEM WILL LOGOFF AFTER PRESSING THE [ok] BUTTON...
            ","USER 'DC' NOT ALLOWED ON WIN2K ($os_version)",4096)
            $SHUT$ = Logoff(1)          
            goto einde          
        endif

    CASE ($NT_mode = "yes") AND ($os_version = "4.0")
        if @USERID = "DC2000"
            messagebox ("
            USER 'DC2000' CANNOT LOGON ON A 'WINDOWS NT4' SYSTEM
            PLEASE USE USER 'DC' INSTEAD !
            THIS SYSTEM WILL LOGOFF AFTER PRESSING THE [ok] BUTTON...
            ","USER 'DC2000' NOT ALLOWED ON WINNT4 ($os_version)",4096)
            $SHUT$ = Logoff(1)          
            goto einde          
        endif

ENDSELECT

Verwijderd

Topicstarter
Helaas kun je de variabele %computername% niet gebruiken als je met citrix werkt.
De DC ziet dan alleen de naam van de citrix server.
Ik moet dus uit de registry van de citrix server de naam van de client pc vissen.

  • seq_uence
  • Registratie: Mei 2000
  • Laatst online: 01-08-2024
lezen is ook een vak |:(

[ Voor 117% gewijzigd door seq_uence op 30-07-2003 15:13 ]

Donec eris felix, multos numerabis amicos


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Verwijderd schreef op 30 July 2003 @ 13:45:
Helaas kun je de variabele %computername% niet gebruiken als je met citrix werkt.
De DC ziet dan alleen de naam van de citrix server.
Ik moet dus uit de registry van de citrix server de naam van de client pc vissen.
Je kan %CLIENTNAME% gebruiken - dat is bijna altijd de client name. Anders kan je - afhankelijk van je Citrix client versie (nieuwere gebruiken nl. de registry) op de "\\Client\c$\wfclient.ini" lezen en hieruit je client vissen.

Verwijderd

elevator schreef op 30 July 2003 @ 17:41:
Je kan %CLIENTNAME% gebruiken - dat is bijna altijd de client name. Anders kan je - afhankelijk van je Citrix client versie (nieuwere gebruiken nl. de registry) op de "\\Client\c$\wfclient.ini" lezen en hieruit je client vissen.
Was dat niet de wfcname.ini ipv de wfclient.ini?

  • Mikkie001
  • Registratie: Oktober 2002
  • Laatst online: 21:14

Mikkie001

Wat is werk zonder koffie?

Als ik het goed begrijp wil je de clientname als variabele invoeren.

Zoiets bijvoorbeeld? O-)

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

Er is altijd een groepje mensen dat in geen enkel groepje past


Verwijderd

Topicstarter
yep dat is em! :)
thanx!
Pagina: 1