KiXtart 4.02
NT 4 Terminal Server - Service Pack 6
Citrix (Metaframe 1.8) - Service Pack 2

Just checked our W2k Citrix Servers and they are fine.

We are seeing in the Application Event Log:
quote:

The description for Event ID ( 5 ) in Source ( KIXTART ) could not be found. It contains the following insertion string(s): WkstaGetInfo failed Error : Access is denied. (0x5/5).

Here is the Kixtart code used in our Citrix Environment:
code:
 BREAK ON
;-- Added in on 10/22/2002 - Kent Dyer
IF @wksta = "Server01" OR @wksta = "Server02" ; >> These are W2k Citrix Servers
; -- Added in on 10/22/2002 - Kent Dyer
CALL @ldrive+"outlook.kix"
IF (READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","StartMenuLogoff") <> "1")
$rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","StartMenuLogoff","1","REG_DWORD")
ENDIF
IF (READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\tips","tips") <> "0")
$rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer","tips","0","REG_DWORD")
ENDIF
IF (EXISTKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security")<> 1)
$rc = ADDKEY("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security")
IF (READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security","Level")<> "1")
$rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security","Level","1","REG_DWORD")
ENDIF
ELSE
IF (READVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security","Level")<> "1")
$rc = WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security","Level","1","REG_DWORD")
ENDIF
ENDIF
RETURN
ENDIF

;Check for the %TEMP% and %TMP% variables
$envirolocation = "HKEY_CURRENT_USER\Environment"
$temp = READVALUE($envirolocation, "TEMP")
$tmp = READVALUE($envirolocation, "TMP")
IF $temp = "" OR $temp = "N:\TEMP"
$rc = WRITEVALUE($envirolocation,"TEMP", Chr(37)+Chr(83)+Chr(121)+Chr(115)+Chr(116)+Chr(101)+Chr(109)+Chr(68)+Chr(114)+Chr(105)+Chr(118)+Chr(101)+Chr(37)+"\Temp","REG_EXPAND_SZ")

ENDIF
IF $tmp = "" OR $tmp = "N:\TEMP"
$rc = WRITEVALUE($envirolocation,"TMP", Chr(37)+Chr(83)+Chr(121)+Chr(115)+Chr(116)+Chr(101)+Chr(109)+Chr(68)+Chr(114)+Chr(105)+Chr(118)+Chr(101)+Chr(37)+"\Temp","REG_EXPAND_SZ")
ENDIF

$newtmpval = READVALUE($envirolocation, "TEMP")

;If we don't have these set, we need to set them
IF %temp% = ""
SET "TEMP="+$newtmpval
ENDIF

IF %tmp% = ""
SET "TMP="+$newtmpval
ENDIF

; -- Write a Citrix Diagnostic File..
SHELL "%COMSPEC% /C DATE /T > \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"
SHELL "%COMSPEC% /C ECHO -- >> \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"
SHELL "%COMSPEC% /C TIME /T >> \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"
SHELL "%COMSPEC% /C ECHO -- >> \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"
SHELL "%COMSPEC% /C SET >> \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"
SHELL "%COMSPEC% /C ECHO -- >> \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"
SHELL "%COMSPEC% /C NET USE >> \\SHARESERVER\CITRIX_HOMEDIR\@userid\trouble.txt"

;ODBC check
;;$odbcfile="%windir%\ODBC.INI"
$odbcfile="\\SHARESERVER\CITRIX_HOMEDIR\@userid\windows\ODBC.INI"
$odbcchk = EXIST($odbcfile)
IF $odbcchk <> 1
RETURN
ENDIF
$driver=READPROFILESTRING($odbcfile,"CBCWinAccess2","Driver")
$description=READPROFILESTRING($odbcfile,"CBCWinAccess2","Description")
$defaultdir=READPROFILESTRING($odbcfile,"CBCWinAccess2","DefaultDir")
$dbq=READPROFILESTRING($odbcfile,"CBCWinAccess2","DBQ")
$driverid=READPROFILESTRING($odbcfile,"CBCWinAccess2","DriverId")
$fil=READPROFILESTRING($odbcfile,"CBCWinAccess2","FIL")
$jetinipath=READPROFILESTRING($odbcfile,"CBCWinAccess2","JetIniPath")
$databasename=READPROFILESTRING($odbcfile,"CBCWinAccess2","DatabaseName")
$autostop=READPROFILESTRING($odbcfile,"CBCWinAccess2","AutoStop")

IF $driver <> "M:\WTSRV\System32\odbcjt16.dll"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","Driver","M:\WTSRV\System32\odbcjt16.dll")
ENDIF
IF $description <> "CBCWin data base"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","Description","CBCWin data base")
ENDIF
IF $defaultdir <> "R:\CBCWIN\program"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","DefaultDir","R:\CBCWIN\program")
ENDIF
IF $dbq <> "R:\CBCWIN\program\cbcwin2.mdb"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","DBQ","R:\CBCWIN\program\cbcwin2.mdb")
ENDIF
IF $driverid <> "25"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","DriverId","25")
ENDIF
IF $fil <> "MS Access"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","FIL","MS Access")
ENDIF
IF $jetinipath <> "odbcddp.ini"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","JetIniPath","odbcddp.ini")
ENDIF
IF $databasename <> "CBCWinDataBase"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","DatabaseName","CBCWinDataBase")
ENDIF
IF $autostop <> "yes"
$rc = WRITEPROFILESTRING($odbcfile,"CBCWinAccess2","AutoStop","yes")
ENDIF
RETURN

Thanks,

Kent

[ 25. October 2002, 17:07: Message edited by: kdyer ]
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's