Error 26013. Function InitializeTree2


De onderstaande foutmelding treed op zodra je de IMA datastore op een SQL server wilt plaatsen.

imadatastoresqlerror.gif

In artikel CTX107977 staan een aantal oplossingen. Echter de oplossing voor mijn situatie was anders en stond niet in het rijtje.

Ik maak gebruik van de Windows NT authenticatie op de SQL 2000 Server. Hier voor moet je de onderstaande gegevens invoeren zodra je verbinding gaat maken met de Database.

imadatastoresqlerror1.gif

De installatie liep vervolgens soepel door en alles werkt nu naar behoren.

IMA Datastore on SQL Server


Als je gebruik wilt maken van Microsoft SQL server als datastore voor je Citrix farm dan heb je minimaal Microsoft SQL server 7 met Servicepack 2 nodig. Servicepack 3 word alleen ondersteund op Windows 2000 Server en Windows Server 2003. Verder dien je versie 3.70.08.20 of hoger van de Microsoft SQL ODBC driver te installeren.

Als er met Windows NT 4.0 gewerkt word, dan moet MDAC versie 2.6 Servicepack 1 ook geïnstalleerd te worden.

Voor SQL Server 2000 word door de Windows 2000 Server en Windows Server 2003 ondersteund. Voor Windows NT 4.0 moet minimaal SP5 of later geïnstalleerd worden. Verder moet de MDAC driver versie 2.5 of hoger geïnstalleerd worden.

Citrix adviseerd om gebruik te maken van Windows NT authenticatie. Dit word aanbevolen omdat Windows NT authenticatie beter beheersbaar is en standaard veel veiliger. Hoe dit alles geconfigureerd moet worden lees je later.

Het gebruikers account wat gebruikt wordt voor het installeren, upgraden en installeren van hotfixes op de data store moet de db_owner rechten krijgen op de database.

Nadat de installatie klaar is pas je de rechten aan naar read/write dit verhoogt de beveiliging en de database is hufterproof.

! Let op. Zodra je een Servicepack of een hotfix voor Citrix wilt installeren, Dan moet de rechten weer aangepast worden zodat de user weer db_owner is.
Mocht je gebruik willen maken van een gerepliceerde SQL server dan moet er wel gebruik gemaakt worden van hetzelfde account op de diverse servers.

De minimum requirements voor een SQL datastore zijn de volgende:

  • Er moet minimaal 100MB vrije schijfruimte zijn voor elke 250 servers en 50 published applications in de server farm
  • Stel de temp database zo in zodat deze kan groeien. Citrix adviseerd een grote van 4GB als je een groot farm hebt met meerdere printer drivers

Er dient met drie dingen rekening gehouden te worden.

  1. Zet de optie Truncate log on Checkpoint aan op de database zodat je het schijfruimte gebruik voor logging in bedwang kunt houden.
  2. Maak regelmatig een backup van de database (zie www.microsoft.com voor meer informatie)
  3. Als de database meer dan 256 gelijktijdige connecties te verwerken krijgt, moeten er evenveel of meerdere “worker threads” beschikbaar zijn (zie www.microsoft.com voor meer informatie).

Ok genoeg over de theorie. Laten we eens gaan kijken hoe je dan de Microsoft SQL Server configureerd voor het gebruik als IMA Datastore.

Configuratie Database (SQL 2000)

Als eerste open je de Enterprise Manager op de SQL server. Klik daarna met de rechtermuis op Databases en selecteer New Database.

imadatastoresql1.gif

Geef de nieuwe database een logische naam.

imadatastoresql2.gif

Omdat ik in deze tutorial werk met Windows NT authenticatie moet er een account aangemaakt worden binnen de Active Directory.

imadatastoresql3.gif

Nu ga je weer terug naar de Enterprise Manager en klik je op Security gevolgt door Logins. Klik rechts op een lege ruimte gevolgt door New Account.

imadatastoresql4.gif

Zoek het account op in de Active Directory en voeg je deze toe.

imadatastoresql5.gif

Geef als default database de nieuwe database op.

imadatastoresql6.gif

Daarna klik je op het tabblad Database Access en zorg je ervoor dat de gebruiker db_owner word.

imadatastoresql8.gif

Installatie MPS4

Nu wordt het tijd om daadwerkelijk Citirx MPS4 te gaan installeren. Hier besteed ik niet teveel aandacht aan omdat het in dit artikel puur over de configuratie van de IMA Datastore gaat.

Zodra je bij het creëren van de Server Farm bent aangekomen, geef je de Farm een naam en klik je op SQL Server . De default zone name laat je ook op default staan.

imadatastoresql9.gif

Nu moet de MF20.dsn geconfigureerd worden. Geef een handige omschrijving van de data sourece en type de servernaam in van de SQL server.

imadatastoresql10.gif

We maken gebruik van Windows NT authenticatie en klik daarna op next

imadatastoresql11.gif

Klik het vinkje aan voor “Change the default database to:” en geeft de juiste database op. Let erop dat de checkboxen voor:

  • Use ANSI quoted identifiers
  • Use ANSI nulls, paddings and warnings

beide aan staan. Is dit niet het geval zet deze aan want anders mislukt de installatie.

imadatastoresql12.gif

De datasource test is succesvol.

imadatastoresql13.gif

De volgende stap is het instellen van de user account. Let er op dat je het Domain Name voor het account naam zet.

imadatastoresql14.gif

De setup is succesvol verlopen.

imadatastoresql15.gif

Networkprinter not marked as defaultprinter


Ik kreeg van de week een incident melding, dat een gebruiker niet meer kon printen vanuit Excel. Ik neem het scherm over van de desbetreffende gebruiker en merk op dat ze geen default printer meer heeft. Wat het vreemde is dat de printer wel is aangekoppeld maar ik kreeg deze met geen mogelijkheid als default printer. Na wat zoek werk kwam ik op de forums van Brian Madden uit. Op dit forum liep toevallig een thread  over hetzelfde onderwerp.

De uiteindelijke oplossing was de onderstaande registry key, deze heb ik toegevoegd aan het loginscript:

Defaultprinter.zip

bron: Brian Madden forums

Hotfix PSE400W2K3R02: No session info in CMC


Dit blijkt een bug te zijn in de CMC.
Als je na het installeren van PSE400W2K3R02 niet de onderstaande registry key goed zet. Dan wordt de CMC niet goed bijgewerkt.

HKEY_LOCAL_MACHINE\Software\Citrix\IMA\Runtime\

PSRequired moet de waarde 1 krijgen.

bron: CTX110923

Mocht het bovenstaande niet werken dan kun je het oplossen door het bestand CMCFix.zip te downloaden. Vervolgens moet je deze bestanden uitpakken in de map C:\Program Files\Citrix\Administration (eerst even een backup maken). Daarna werkt de CMC weer zoals het hoort te werken.

De onderstaande bestanden worden overschreven:
EXT\citrix_ima_core.jar

citrix_ima_sals_mf.jar

Plugins\AdminUserMgr.jar

IMSMgr.jar
IsolationMgr.jar
LMSAdmin.jar
LMSMonitor.jar
MetaFramePubAppMgr.jar
PolicyMgr.jar
PrinterMgr.jar
ResoureceManager.jar
ServerMgrNew.jar
SettingsMgr.jar
Debug.properties
ImaCommon.dll
ImaFc.dll
ImaRaClient.dll
ImaSystem.dll
Native.dll
xpperfdata.dll

Hotfix:  PSE400R02W2K3060 zou deze bug moeten verhelpen. Je kun de hotfix hier downloaden: CTX112171

Citrix MPS4 herstart script.



Voor de migratie van onze Citrix omgeving van MPS XP naar MPS4, moest ik mijn Reboot script aanpassen zodat deze compatible was met MPS4.

Hieronder zie je het script:
;============================================
; Rebootscript voor KVK/CITRIX FARM
;
; Created by Arne Fokkema
; Copyright KvK Noordwest-Holland 2004
;
; * Clean Print Spooler * Reboot the Server * Write Event Log
;
;============================================

SetConsole(“maximize”)

$Fileserver = “fileservernaam”
$Logfile = “\\$Fileserver\Log$\Herstart\@WKSTA_REBOOT.txt”
$MACADDRESS = @ADDRESS
$IPADDRESS = @IPADDRESS0
$Werkstation = @WKSTA

;//////////////////////////////////////////////// Logging \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
Function Log($Message,Optional $LogFile)
Dim $LogFile
$Log=’
$LogFile=’+$LogFile
If 0=VarType($Message) Exit(1) EndIf
If $LogFile
If NOT GetFileAttr(SubStr($LogFile,1,InStrRev($LogFile,’\’)-1)) & 16 Exit(2) EndIf
If RedirectOutput($LogFile,0)=0
? “@DATE, @TIME: $Message”
$=RedirectOutput(“”)
Else Exit(3) EndIf
EndIf
EndFunction

;//////////////////////////////////////////////// Reboot \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;

$LogItem = Log(“******************************************************** “,$LogFile)
$LogItem = Log(“De “+$Werkstation+” wordt opnieuw gestart.”,$LogFile)
$LogItem = Log(“MAC: “+$MACADDRESS+ ” IP: “+$IPADDRESS,$LogFile)

$LogItem = Log(“Shutting down the IMA Service. “,$LogFile)
?”Stop de IMA service”
Shell ‘%comspec% /e:1024 /c net stop “Independent Management Architecture” /Y’
If @error $LogItem = Log(“de IMA Service is NIET uitgeschakeld. “,$LogFile)
Else
$LogItem = Log(“de IMA Service is uitgeschakeld. “,$LogFile)
Endif

? “Sending a message”
Shell ‘%comspec% /e:1024 /c “msg /TIME:600 * Deze server wordt over 15 minuten opnieuw gestart.”‘
$LogItem = Log(“Sending the 15 minutes warning. “,$LogFile)
sleep 600
$LogItem = Log(“Shutting down the print spooler. “,$LogFile)
?”Stop de spooler service”
Shell ‘%comspec% /e:1024 /c net stop “print spooler” /y’
If @error $LogItem = Log(“de Print spooler Service is NIET uitgeschakeld. “,$LogFile)
Else
$LogItem = Log(“de Print spooler Service is uitgeschakeld. “,$LogFile)
Endif

? “Sending a message”
Shell ‘%comspec% /e:1024 /c “msg /TIME:180 * Deze server wordt over 5 minuten opnieuw gestart.”‘
$LogItem = Log(“Sending the 5 minutes warning. “,$LogFile)
sleep 240

$LogItem = Log(“Deleting print queues. “,$LogFile)
?”Deleting the Print Queues”
del “%Windir%\System32\spool\PRINTERS\*.* /q”
$LogItem = Log(“Starting Shutdown. “,$LogFile)
?”Starting Shutdown”
? “Sending a message”
Shell ‘%comspec% /e:1024 /c “msg /TIME:30 * Deze server wordt over 1 minuut opnieuw gestart.”‘
$LogItem = Log(“Sending the 1 minute warning. “,$LogFile)
sleep 60

;* disable logon’s
Shell ‘%comspec% /e:1024 /c “change logon /enable”‘
$LogItem = Log(“Nieuw logins zijn ingeschakeld. “,$LogFile)

$LogItem = Log(“Starting shutdown. “,$LogFile)
Shell ‘%comspec% /e:1024 /c “C:\Progra~1\Reboot\shutgui.exe /C /R /T:30″‘
If @error = 0
$LogItem = Log(“Shutdown Accepted. “,$LogFile)
goto “exit”
Else
Goto “Timeout”
Endif
:timeout
$LogItem = Log(“Aborted – Shutdown script timed out. “,$LogFile)

:exit
?”Exit”
$LogItem = Log(“exited. “,$LogFile)
$LogItem = Log(“******************************************************** “,$LogFile)

Het script stopt een aantal services, maakt de spooler directory leeg en start vervolgens de server opnieuw op. Voordat de server opnieuw opgestart wordt krijgen de gebruikers drie keer een melding.

Het script schedule je via een scheduled task.

Bij het script zit ook een logbestand deze ziet er als volgt uit:

2006/08/08, 12:38:31: ********************************************************
2006/08/08, 12:23:31: De SE37BTS2 wordt opnieuw gestart.
2006/08/08, 12:23:31: MAC: 00096BA373F9 IP: 10.185. 41.222
2006/08/08, 12:23:31: Nieuwe logins zijn uitgeschakeld.
2006/08/08, 12:23:31: Shutting down the IMA Service.
2006/08/08, 12:23:36: de IMA Service is uitgeschakeld.
2006/08/08, 12:23:36: Sending the 15 minutes warning.
2006/08/08, 12:33:36: Shutting down the print spooler.
2006/08/08, 12:33:39: de Print spooler Service is uitgeschakeld.
2006/08/08, 12:33:39: Sending the 5 minutes warning.
2006/08/08, 12:37:39: Deleting print queues.
2006/08/08, 12:37:39: Starting Shutdown.
2006/08/08, 12:37:39: Sending the 1 minute warning.
2006/08/08, 12:38:39: Nieuw logins zijn ingeschakeld.
2006/08/08, 12:38:39: Starting shutdown.
2006/08/08, 12:38:39: Shutdown Accepted.
2006/08/08, 12:38:39: exited.
2006/08/08, 12:38:40: ********************************************************

Pass-through authentication voor het CMC


Als je de CMC voor het eerst start krijg je onderstaande melding. Hier heb je de keuze of je gebruik wilt maken van pass-through authentication.

mocht je nu achteraf deze instelling willen wijzigen dan doe je dat als volgt: ga naar C:\Documents and Settings\Userprofile\Citrix\Management Console open vervolgens de IMA.ini hieronder zie je de inhoud: [PTA] Server= Enabled=true [CitrixVMware] PreferredServer=ctx UserName=Administrator Server0=ctx [Farms] Farm0=CitrixVMware MostRecentLogon=CitrixVMware [Application Settings] SortMode-CitrixVMware/c=[1],true SortMode-CitrixVMware/b=[0],true MainFrameHeight=604 MainFrameY=0 MainFrameWidth=778 MainFrameX=0

Deze inhoud wis je en vervolgens start je de CMC opnieuw op. Je zult zien dat de bovenstaande melding weer terug komt. Nu kun je er voor kiezen om bijvoorbeeld pass-through uit te zetten. Ook kun je binnen het CMC het volgende doen: Klik op view gevolgd door preferenses.

Hier kun je ook de boel weer instellen.