Carl Stalhood

Saturday 30 July 2011

Interview questions 5

How to Recreate the Local Host Cache?
If the IMA service does not start, the cause may be a corrupt LHC. Verify the data store is available before beginning this procedure. If the data store is not available, the IMA service fails to start until the data store is available.

Recreating the Local Host Cache after a minimum of SP1 has been installed

1. Stop the IMA service. This can be done via the command line, net stop imaservice or from services.
2. From the command line run: dsmaint recreatelhc which renames the existing LHC database, creates a new database and modifies the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\PSRequired key to 1. Setting the value PSRequired to 1 forces the server to establish communication with the datastore in order to populate the Local Host Cache database. When the IMA service is restarted, the LHC is recreated with the current data from the data store.
3. Restart the IMA service. This can be done via the command line, net start imaservice, or from services.
Recreating the LHC database on servers that do not have a minimum of SP1 installed
1. Stop the IMA service, if it is started. This can be done via the command line, net stop imaservice, or from services.
2. Go to %ProgramFiles%\Citrix\Independent Management Architecture and rename the imalhc.mdb to imlhc.mdb.bak
3 Launch the ODBC Data Source Administrator:
• On Windows Server, choose Control Panel > Administrative Tools > Data Sources (ODBC).
4. Select the File DSN tab and browse to %ProgramFiles%\Citrix\Independent Management Architecture.
5. Select the imalhc.dsn file and click Configure.
6. In the Database area, click Create. The New Database dialog box appears.
7. In the Database Name box, type the name imalhc.mdb for the new local host cache database.
8. Click OK to create the database, and then click OK to close the ODBC Data Source Administrator.
9. Open regedt32 and navigate to the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\RUNTIME and modify the value of PSRequired (REG_DWORD): 0x1
10. Restart the IMA service. This can be done via the command line, net start imaservice, or from services.

How to disable print drivers from automatically updating the DataStore?
When a new printer or printer driver was installed on a MetaFrame server, a substantial amount of traffic (in the order of 8 to 10MB per second) occurred between the IMA Service and the data store the IMA Service was using. This occurred because the IMA Service needed to update the Management Console for MetaFrame XP with the information about the new printer or printer driver, which caused the huge amount of network traffic.
To resolve this problem, navigate to the following registry key and change the value of fDisablePrinterWorkerThread to 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMAPrinter
Type: REG_DWORD
Value: fDisablePrinterWorkerThread = 1
After making this change to the registry, restart the IMA Service for the change to take effect.
When the registry switch is set to 1, the IMA Service does not automatically update printer or printer driver information to the Management Console. You need to update this information manually. To do this, click Printer Management in the left panel of the Management Console and then double-click Update Printer and Driver.
Note: Ensure the latest MfPrintSs.dll is installed on the server.

How do I disable the Citrix Management Console splash screen?
There are two ways to disable the Citrix Management Console splash screen:
• Add -nologo to the Ctxload.exe command line. For example, if you publish ctxload as a published application, edit the published application and add -nologo to the end of the command line.
• If you run the Citrix Management Console from the toolbar, open the Program Files\Citrix\Administration folder. Create a shortcut to ctxload. Open the properties of that shortcut and add -nologo to the end of the target box. Click OK. Add the shortcut to the toolbar.

What is licenses auto-activation?
License auto-activation is a benefit offered to customers purchasing MetaFrame XP product through an electronic licensing program with Citrix. License auto-activation removes the need to activate MetaFrame product licenses via the Citrix Activation System. With license auto-activation, MetaFrame XP product licenses purchased through an electronic licensing program are automatically activated when they are installed on the MetaFrame XP server.

How to install XenApp client in command prompt and apply policies?
Run the XenAppHosted.msi in command prompt
"c:\>msiexec /a xenapphosted.msi"
This will launch "Client Packager Installation". We can create a pre-configured client package with the answer file for the questions asked by the installer, so that we can have silent installation of the client in various systems in the environment.
There is another way to create client installation package.
Type the command "msiexec.exe /I path/XenAppHosted.msi [Options]"
To add Group Policy to manage the client we need to add the .ADM by Citrix to the existing Administrative Template of the Group Policy Management. This is available where Citrix Clients have been already installed. It is located in "c:\program files\Citrix\ICA Client\Configuration\icaclient.adm"
We can manage Citrix Client connectivity by the Windows Group Policy

How to change the Citrix XML Service Port on Metaframe Servers ?
Un-registering the XML Service
1. Open a Command Prompt window and run ‘ctxxmlss /u’ (This command will un-register the Citrix XML service and mark it for deletion)
2. Reboot the server
Registering the XML on a port other than sharing with IIS
1. Un-register the service using the instructions above.
2. Open a ‘Command Prompt’ window and run ctxxmlss /r[Port Number] (Notice that there is no space between the switch “/r” and the port number.
3. Reboot the server or open the service control manager and manually start the Citrix XML Service
Registering the XML Service to share the port with IIS on Windows Server 2003 running IIS 6.0
By default when installing IIS 6.0, the virtual Scripts Folder is not created
1. Un-register the service using the instructions above.
2. Navigate to the ‘\Inetpub’ folder and create a new folder with the name of ‘Scripts’
3. Open the IIS Manager MMC Snap-in
4. Right click on the ‘Default Web Site’ and select New | Virtual Directory…
5. Click Next
6. Under Alias: type the name ‘Scripts’ and click Next
7. Under Path: type C:\Inetpub\Scripts and click Next
8. Under Allow the following permissions: make sure that the following are selected
a. Read
b. Run Scripts (such as ASP)
c. Execute (such as ISAPI applications or CGI)
9. Click Next and click Finish
10. Right click on the Scripts virtual directory and go to Properties
11. Under the Virtual Directory tab make sure that the Execute Permissions: field is set to Scripts and Executables
12. Under the Directory Security tab click on Edit… under Authentication and Access Control and make sure that the Enable anonymous access check box is checked
13. Now copy the files ctxxmlss.txt, clm.dll, wpnbr.dll to the newly create Scripts folder under the Inetpub folder.

Note: The file ‘ctxxmlss.txt’ is located in the ‘Program Files\Citrix\System32’ folder and the files ‘clm.dll’ and 'wpnbr.dll' are located in the ‘%SYSTEMROOT%\System32’ folder
If Microsoft IIS is installed, the administrator of the MetaFrame XP installation is given the option to install the Citrix XML Service and share a port with IIS.
In fact, no separate XML service is running. IIS serves the XML data using an ISAPI filter named Wpnbr.dll located in the \Inetpub\Scripts folder. To remove the Citrix XML Service functionality from your MetaFrame server, simply rename or delete the Wpnbr.dll file.
Once the XML Service port is changed on the Metaframe Servers you will need to change NFuse or WI to point to the new port.

Interview questions 4

What are the commonly used Citrix commands ?


dsmaint config [/user:username] [/pwd:password] [/dsn:filename]
dsmaint backup destination_path
dsmaint failover direct_server
dsmaint compactdb [/ds] [/lhc]
dsmaint migrate [{ /srcdsn:dsn1 /srcuser:user1 /srcpwd:pwd1}] [{/dstdsn:dsn2 /dstuser:user2 /dstpwd:pwd2}]
dsmaint publishsqlds {/user:username /pwd:password}
dsmaint recover
dsmaint recreatelhc
dsmaint verifylhc
-----------------------------------------------------------------------------------------------------------------------------------
driveremap
driveremap /drive:M
driveremap /u
driveremap /noreboot
driveremap /IME
-----------------------------------------------------------------------------------------------------------------------------------
dscheck
dscheck [Options] [ /full | /clean]
[ Servers | Apps | Printers | Groups | MSLicense | Folders | Licenses ]
dscheck /full Servers [Options] Verify/Clean or Delete the server. May be left blank. Defaults to all servers.
/Clean - Modify the data store to correct the errors.
/DeleteAll - Delete the server entries from the data store.
/DeleteMF - Delete the MetaFrame Server entry from the data store.
/DeleteComSrv - Delete the Common Server entry from the data store.
dscheck /full Apps [Options]
< AppName> - Verify/Clean or Delete the application. May be left blank. Defaults to all applications.
/Clean - Modify the data store to correct the errors.
/ServerCheck - Verify that all applications are hosted by valid servers.
/DeleteMF - Delete the MetaFrame Application entry from the data store.
/DeleteComApp - Delete the Common Application entry from the data store.
dscheck /full Printers [Options]
/purge_replications - Removes all printer replications from the data store.
/purge_client_printers - Removes all Client Auto-Create printers pending deletion from the data store.
/purge_drivers - Removes all drivers that are not associated with any servers from the data store.
dscheck /full Groups [Options]
/Clean - Removes the group object. GroupName is the relative DN from the Context.
/Clean -Removes the group from the parent group.
Use the output of DSCHECK.exe GROUPS /verify" for both ParentGroupName and GroupName.
dscheck /full MSLicense [Options]
/purge_licenses - Removes all Microsoft Licenses from the data store.
/list - Lists all Microsoft Licenses in the data store.
dscheck /full Folders /clean - Collapse orphaned folders in the data store.
dscheck /full Licenses /clean - Removes all corrupt licenses from the data store.
-----------------------------------------------------------------------------------------------------------------------------------
altaddr
altaddr [/server:servername] [/set alternateaddress ] [/v]
altaddr [/server:servername] [/set adapteraddress alternateaddress] [/v]
altaddr [/server:servername] [/delete] [/v]
altaddr [/server:servername] [/delete adapteraddress] [/v]
-----------------------------------------------------------------------------------------------------------------------------------
query
query view information about server farms, processes, servers, ICA sessions and users
query farm shows the servername, protocol and ip address
query farm /app shows the published applications
query farm /disc shows the disconnected session data for the server farm
query farm /load displays server load information
query user displays the current connections
queryhr is used to display info about the member servers in the farm. Executing queryhr with no parameters lists all servers in the farm.
-----------------------------------------------------------------------------------------------------------------------------------
chfarm is used to change the farm membership of a Citrix server
icaport is used to query or change the TCP/IP port number used by the ICA protocol
imaport is used to change the IMA port used by the server
ctxxmlss is used to change the XML service port
enablelb is used to re-enable the server back to load balancing after it fails
twconfig confgure ICA display settings
auditlog is used to view the report of users logoff and logon activity. With auditlog /time we can get time the users spent in the servers

interview questions3

What is Printer terminology in Citrix?
An administrator can configure the following types of printers for use in an ICA session:
Client local printer
Network printer
Server Local printer
Client Printers: The definition of a client printer depends on the ICA Client platform. On DOS-based and WinCE client devices, a client printer is physically connected by a cable to a port on the client device. On 32-bit Windows platforms (Windows 9x, Windows NT, and Windows 2000), any printer that is set up in Windows (these printers appear in the Printers folder on the client device) is a client printer.
Network Printers: Printers that are connected to print servers and shared on a Windows network are referred to as network printers. In Windows network environments, users can set up a network printer on their computers if they have permission to connect to the print server. When a network printer is set up for use on an individual Windows computer, the printer is a client printer on the client device.
Local Printers: Printers that are connected directly to Citrix servers are local printers within a particular server farm. This definition includes a printer that is connected to the Citrix server that hosts a user’s ICA session, as well as printers that are connected to other Citrix servers in the same server farm. If a printer is connected to a Citrix server outside of a server farm (either the server is not a member of a server farm or is a member of a different server farm), the server farm considers the printer a network printer, not a local printer.

How to implement Policies in Citrix?
Presentation Server policies are created by adding policy rules. Policy rules are broken down into the following categories:
Bandwidth
Client Devices
Printing
Security
User Workspace
An administrator can apply policies by filtering:
Client IP address
Users and user groups
Client names
Servers
Access Control
Once a policy is created it has to be prioritized for effective functioning. Following options are available for prioritizing a policy
Make Highest priority
Increase Priority
Decrease Priority
Make Lowest Priority

Citrix Policies can be configured from XenApp Advanced Configuration Console
If there are any policies which conflicts to each other,the resultant applied policies are the one with higher priority
Policies Override
1. Citrix Policy
2. Group Policy
3. ICA Session Setting
4. User Object Setting

What is IMA?
Independent Management Architecture (IMA) provides the framework for server communications and is the management foundation for MetaFrame Presentation Server. IMA is a centralized management service comprised of a collection of core subsystems that define and control the execution of products in a server farm. IMA enables servers to be arbitrarily grouped into server farms that do not depend on the physical locations of the servers or whether the servers are on different network subnets.
IMA runs on all servers in the farm. IMA subsystems communicate through messages passed by the IMA Service through default TCP ports 2512 and 2513. The IMA Service starts automatically when a server is started. The IMA Service can be manually started or stopped through the operating system Services utility.
IMA can be defined as a SERVICE, PROTOCAL and as a DATASTORE.
IMA Service: IMA Service is the central nervous system of Presentation Servers. This service is responsible for just about everything server-related, including tracking users, sessions, applications, licenses, and server load.
IMA Data store: Which stores Presentation server configuration information, such as published applications, total licenses, load balancing configuration, security rights, Administrator Accounts, Printer configuration, etc?
IMA Protocol: Which is used for transferring the ever-changing background information between Presentation servers, including server load, current users and connections, and licenses in use.
Ports used by IMA:
2512: Used for Server to Server Communication
2513: Used for CMC to Data store Communication

“Independent Management Architecture” is a term Citrix uses to describe the various back-end components that make up a CPS environment. In the real world, IMA consists of three components that we actually care about.
It is a database (called the “IMA Data Store”) used for storing Citrix Presentation server configuration information, such as published applications, load balancing configuration, security rights, policies, printer configuration, etc.
A Windows service (called the “IMA Service”) that runs on every Presentation Server that handles things like server-to-server communication.
A protocol (called the “IMA Protocol”) for transferring the ever-changing background information between Presentation Servers, including server load, current users and connections, licenses in use, etc.
In Presentation Server, the IMA protocol does not replace the ICA protocol. The ICA protocol is still used for client-to-server user sessions. The IMA protocol is used for server-to-server communication in performing functions such as licensing and server load updates, all of which occur “behind the scenes.”
If we open IMA data store database with SQL Enterprise Manager, we'll see it has four tables:
DATATABLE
DELETETRACKER
INDEXTABLE
KEYTABLE
IMA data store is not a real relational database. It’s actually an LDAP database. IMA Data Store Size 1MB per server.
We can’t access the IMA data store directly through SQL Enterprise Manager. (technically you can, but if you run a query you’ll get meaningless hex results.) If we try to edit any of the contents of the data store directly in the database, it will be definitely corrupt.
There’s a tool on the Presentation Server installation CD called “dsview.” There is another tool called “dsedit” a “write-enabled” version of dsview.

What is USRLOGON.cmd?
Whenever a user logs on to the Citrix server, the USRLOGON.CMD file runs. This file is located in %systemroot%/system32. It is configured to run automatically when each user logs in.
This file has two functions:
1. USRLOGON.CMD creates the ROOTDRIVE variable. This variable is used by the Logon Script to identify the user's home directory.
2. USRLOGON.CMD calls USRLOGN2.CMD. USRLOGN2.CMD runs the application scripts that fix user level problems with certain applications

How to identify Citrix License been consumed by a Device?
LMSTAT command shows a Client Hardware ID, a license has been assigned to that device.
Lmstat is the license administration command shows what licenses are assigned to which client or server. This utility is run on a license server from a command prompt by browsing to \Program files\Citrix\Licensing\LS. The *.lic must be present in the \Program Files\Citrix\Licensing\MyFiles directory that excludes the built-in citrix_startup.lic file. Lmstat prints information that it receives from the license server but does not contact the product server.
Syntax
lmstat [-a] [-A] [-c “license_file”]
Open the command prompt and change the directory to \Program Files\Citrix\Licensing\LS
Type: lmstat –a
Example output of an lmstat -a command indicating two user machines accessing the farm and consuming two user license assignments.
A Client with Hardware ID that consumed a Citrix license is shown in hexadecimal number like below
Hardware ID for Session 1 6f78c1bd
Hardware ID for Session 2 3a7379f6

Interview questions 2

What is ICA and what is the advantage of ICA?
The Independent Computing Architecture (ICA) is the communication protocol by which servers and client devices exchange data in a server environment. ICA is optimized to enhance the delivery and performance of this exchange, even on low-bandwidth connections.
The ICA protocol transports an application’s screens from the server it is running on to the user’s client device, and returns the user’s input to the application on the server. As an application runs on a server, MetaFrame Presentation Server intercepts the application’s display data and uses the ICA protocol to send this data (on standard network protocols) to the client software running on the user’s client device.
When the user types on the keyboard or moves and clicks the mouse, the client software sends this data to the application on the server. ICA requires minimal client workstation capabilities and includes error detection and recovery, encryption, and data compression.
Citrix ICA protocol is used for remote application sessions between users and Presentation servers. The ICA protocol supports TCP/IP, NetBIOS, or IPX/SPX. Citrix ICA protocol is responsible for transmitting background information between the ICA clients and the Presentation servers, including the port mappings, drive mappings, print jobs, and sound. Only Sends Screen Updates & Mouse/Key Board Strokes. Only 30 – 35 kb/sec (Printing and File Transfer increase this) Fat Apps VS Thin Apps
Ports used by ICA:
1494: ICA Protocol on TCP (TCP + HTTP) & 1604: ICA Protocol on UDP.

Describe ZDC Election Process in detail?
Incase ZDC is not be available, another server in the zone can take over that role. The process of taking the role is called ZDC election. Server Administrators should choose the Zone Data Collector strategy carefully during the farm design itself. When an election needs to occur in a zone, the winner of the election is determined by
1. Highest version of Presentation Server first
2. Highest rank (as configured in the Management Console)
3. Highest Host ID number (Every server has a unique ID called Host ID).
When the existing data collector for Zone failed unexpectedly or the communication between a member server and the Zone Data Collector for its zone failed or the communication between data collectors failed, then the election process begins in the Zone. If the server is shutdown properly, it triggers the election process before it goes down. The servers in the zone recognize the data collector has gone down and starts the election process. Then the ZDC is elected and the member servers send all of their information to the new ZDC for the zone. In turn the new data collector replicates this information to all other data collectors in the farm.
Note: The data collector election process is not dependent on the data store. If the data collector goes down, sessions connected to other servers in the farm are unaffected .The data collector election process is triggered automatically without administrative interference. Existing as well as incoming users are not affected by the election process, as a new data collector is elected almost instantaneously.
C:\ QueryHR.exe
------ Showing Hosts for "10.22.44.0" ------
Host 1:
-----------------------------
Zone Name: 10.22.44.0
Host Name: TEDDYCTX02
Admin Port: 2513
IMA Port: 2512
Host ID: 4022
Master Ranking: 1
Master Version: 1
---------------------------------
------ Show Host Records Completed -------
To see the Host ID number and its version, run queryhr.exe utility (with no parameters).

Each server in the zone has a rank assigned to it. The administrator can configure such that the servers in a zone can be ranked to make the server as the most desired to serve as the zone master or ZDC. The ties between servers with the same administrative ranking are broken by using the HOST IDs assigned to the servers.
When a Presentation Server starts or when the IMA service starts, the IMA service starts trying to contact other servers via the IMA protocol on port 2512 until it finds one that’s online. When it finds, it queries it to find out which server is acting as the data collector. The winner of this Zone Data Collector election is determined by the newest version of the IMA service. We can control which server will act as data collector by keeping that server the most up-to-date.
Data Collection Election Priority
Whichever server has the most recent version of the IMA Service running. (This may include hotfixes) and the server with the highest preference set in the data store
Basically data collectors and data store are not really related. The data store holds permanent farm configuration information in a database, and the data collector tracks dynamic session information in its RAM.
In addition to their primary role to provide dynamic farm information for admin consoles or for incoming connection requests, data collectors also take part in the distribution of configuration changes to Presentation Servers in the farm. When we make a changes in a presentation server that change is written to the local host cache of whichever server we connected to, and then immediately replicated to the data store. Presentation Server only looks for changes in the central data store every 30 minutes. Whenever a change is made to the data store, that change is sent to the data collector for the zone.
The data collector then distributes that change (via IMA port 2512) to all of the servers in its zone, allowing each server to update its own local host cache accordingly. Furthermore, if we have more than one zone, the initial data collector contacts the data collectors in the other zones. It sends its change to them, and in turn those data collectors forward the change to all of the servers in their zones.
Coolest part is if the change is larger than 64k, the data collectors don't send the actual change out to its zone. Instead they send out a notification which causes the servers in the zone to perform an "on demand" sync with the central data store. However it's rare for a single change to be more than 64k in size.
The data collector election priority settings in the management console
Presentation Server Java Management Console > Right-click on farm name >Properties > Zones > highlight server > “Set Election Preference”
We can totally control which server is our data collector by manually setting the preferences in the Java console. We can manually configure four levels of Zone's Data Collector election preference options
Most Preferred
Preferred
Default Preferred
Not Preferred
The important thing to remember is that these preferences will be ignored if a newer server is up for election.

How Load Evaluator works?
QFARM /LOAD command executed in a Presentation Server farm will display all servers in the farm along with each server’s respective load value. Each and every Presentation Server generates its own “score” and sends this information to the data collector in the respective zone. This score will be a decimal number between 0 and 10,000, with zero representing a “no load” situation, and 10,000 indicating the particular server is fully loaded and is not accepting any more connections. Citrix Load Management is handled by load evaluator and its simply a set of rules that determine a particular server’s “score”, or current load value. It is the “score” that determine the decisions that distribute loads within the server farm. Load evaluators can be applied to servers and/or published applications. If any servers in the Zone go down then Load Evaluators are used to overcome the situation. In default XenApp installation there are Advanced and Default Load Evaluators are there.D
Default Load Evaluator includes only two rules, Load Throttling and Server User Load.
Advanced Load Evaluator includes four rules, CPU Utilization, Load Throttling, Memory Usual and Page Swaps.

How Zone Preference and failover configured?
Zone preference and failover can be configured from Policies. It is located in User Workspace > Connections in Citrix Policy. You can select the server group in which order the connections are preferred. This is useful when an entire zone goes down

What is Preferred Load Balancing?
Preferred Load balancing is the feature in XenApp Platinum edition, which allows you to configure preference for the particular users to access the applications in the XenApp farm.
We can see this in Server properties in Advanced Management Console. In Memory/CPU > CPU Utilization Management, there will be the third option called "CPU sharing based on Resource Allotments"
To give more resources to particular application in the server, we can configure in Application properties > Advanced > Limits and Application important in Access Management Console. So if you set the Application importance to High, then when those application is used by the users will get more CPU cycles than the users accessing other applications
To give more resources to the users, we can configure it in Citrix Policies in XenApp Advanced Configuration. To enable it go to the policy properties > Service Level > Session Importance > enable, and assign preferred Importance Level (High, Medium, Low).
Application Importance + Session Importance = Resource Allotmment.

What are the different Types of Citrix Load Evaluators?
There are two type of Load Evaluators - 1- Default -2- Advance

Below is the load evaluator rules-
1. CPU Utilization
2. Memory Utilization
3. Page Swap
4. Application User Load
5. Context Switches
6. Disk Data I/O
7. Disk Operations
8. IP Range
9. Page Faults
10. Scheduling
11. Server User Load

How to recover from IMA failing?
There are many reasons that the IMA Service doesn't start
1. IMA Service load time
2. IMA Service subsystem
3. Missing Temp directory
4. Print spooler service
5. ODBC configuration
6. Roaming Profile
Check the Windows Registry setting: HKEY_LOCAL_MACHINESOFTWARECitrixIMARuntimeCurrentlyLoadingPlugin
If there is no value specified in the CurrentlyLoadingPlugin portion of the above Windows Registry entry then the IMA Service could not connect to the data store or the local host cache is missing or corrupt.
If a CurrentlyLoadingPlugin value is specified the IMA Service made a connection to the data store and the value displayed is the name of the IMA Service subsystem that failed to load.
If administrators see an "IMA Service Failed" error message with an error code of 2147483649 when starting the Presentation Server the local system account might be missing a Temp directory which is required for the IMA Service to run.
Change the IMA Service startup account to the local administrator and restart the server. If the IMA Service is successful in starting under the local administrator account then it is likely that a missing Temp directory for the local system account is causing the problem.
If the Temp directory is not present then manually create one as >Temp. For example: C:\Windows\Temp
Also verify that the TMP and TEMP system environment variables point to the temporary directory. Restart the server to restart the IMA Service

What is Special Folder Redirection?
Special Folder Redirection (SFR) allows for the automatic redirection of server-side Special Folders to their client-side equivalents. When a user clicks on the Documents folder in their XenApp 5 session, the folder that opens will actually be the local Documents folder. When SFR is used, all file operations will take place in the client-side folder. SFR is only available when XenApp 5 is installed on Windows Server 2008 and also requires XenApp Plugin version 11 (client).

What is Citrix Resource Manager?
Citrix Resource Manager (RM) is a tool that is used to manage resources on single or multiple MetaFrame servers. RM enables the ability to collect, display, store, and analyze data about system performance, application or process use, and user activity. RM provides real-time system monitoring, reporting of system activity, and billing reports to charge users for use of resources using a summary database.
In XenApp5 Resource Manager is moved to EdgeSight. We cannot connect to RMSummaryreport database from XenApp5. But still we can see some of the reports from Report Center in Access Management Console. One of the important reports is Policy Report.

Interview questions 1

What are the default tests available in Health Monitoring & Recovery Tool?
XenApp Health Monitoring and Recovery Tool have the following default tests.
1. Citrix IMA Service test
2. Logon Monitor test
3. Terminal Service test
4. XML Service test
Health Monitoring & Recovery in the farm-wide configuration allows us to select the maximum percentage of servers that HMR can exclude from load balancing. The default value is 10% of server.

What is Hotfix Management and how to configure Server Restart Schedule?
Hotfix Management in Access Management Console allows us to check the Hotfixes installed in the particular server as well as compare the Hotfixes with the scope of server. But this tool will not automatically intimate or download available Hotfixes from the Citrix website. We can configure server restarting schedule for the servers in the XenApp farm. Right-Click the server and go to All Task.Go to Set restart options and Set restart schedule.

What is the session reliability service in Windows services?
Citrix XTE Server is the Windows service for session reliability.

What is Installation Manager?
Installation Manager will not be in the part of Citrix installation setup. It should be downloaded from the Citrix website and installed separately. We need to have PowerShell already installed in the server. Install the IM component in the workstation/system you want to manage from and the IM utility in the XenApp servers. After installing the we can access it through the Windows management console. We can select the shared msi file path from where the application to be deployed and the server and the time of installation. We can also schedule command-line task to install exe files or to run some commands or queries in the servers.

What is Configuration logging?
Administrative Configuration Logging is the new feature in XenApp 5.0 and it can be configured in farm-wide properties. We can store all the administrative changes in the farm. We can see the log from the Report Center. We can clear log from the farm properties. We can configure to have credential to clear the log.

How to configure SecureICA and SSL/TSL connection in XenApp?
To configure SecureICA, Go to Access Management Console and right click the application and go to the properties. In the Client option select the Encryption level. This should be configured both in client and server side. If we use XenApp client it will automatically select the Encryption type. If we use Program Neighbourhood we have to select the proper Encryption type in the client side. We can enforce these properties in the Group Policies or in Citrix policy in XenApp Advanced Configuration. We can Enable the SecureICA encryption and select the Encryption Level. If we enable SSL/TSL connection, we should have installed Citrix SSL Relay and Server Certificate installed in the server. We can configure this in Citrix SSL Relay Configuration Tool in Citrix Administration.

How to recover Citrix License Server?
The Citrix servers can function without contacting the license server and it is 30-days fault tolerant, and in Enterprise version an alert can be set with Resource Manager to send an email in case of License Server Connection Failure. If the license server reconnects at any time in the thirty days the problem resolves itself. If the server is not going to come back up, then the license file, digitally signed with the case-sensitive hostname of the old license server, is the critical component. The license file, a *.lic file, can be backed up to a thumb drive separately, and restored to a new server with the same name of the old license server, and the Citrix License server software installed.

What is "Citrix Startup License" in Citrix presentation server license management console?
The Startup license does not affect the license count. It is used to allow Citrix products to communicate with the license server using a continuous open connection. Every five minutes the license server and the products send a heartbeat message to each other to verify that they are mutually communicating.

How to restore the data source to the new server?
To restore the data store to a different server, or just to move it to a more convenient place on the network, the procedure is as follows:
1. Place the mf20.mdb that was backed up in the proper directory: C:\ProgramFiles\Citrix\Independent Management Architecture;
2. Create a file dsn to the new data store;
3. Run dsmaint config /user:user /pwd:password /dsn:path to dsn on the new data store server and restart IMA;
4. Run dsmaint failover newdatastoreservername on all the other servers in the farm and restart IMA
To create a dsn file, go to the control panel, administrative tools, of the Citrix server that holds the new data store, and go to “Data Sources (ODBC)”. On the tab marked “file dsn”, create a new file, with Access 4.0 drivers, that is in the same directory as the mdb file is, and can be named anything, but for convention should be mf20.dsn. on the final screen, the actual database that the dsn file is supposed to point to must be selected. Under the select button, highlight the proper database, (not the imalhc.mdb but the mf20.mdb) and close the utility.

What is CtxHide? How to solve CtxHide.exe Causing Citrix Session’s to Hang on Logon?
CtxHide.exe is responsible for hiding the DOS window in which UsrLogon.cmd is running.
Workarounds
1. Remove CtxHide.exe from the appsetup key in the registry
Use the registry editor to navigate to the following value:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AppSetup
Double Click on the AppSetup value and remove the CtxHide.exe entry as the example shows below. Note that your AppSetup value may contain more than the following example.
Windows Registry Editor Version 6.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AppSetup"="CtxHide.exe UsrLogon.Cmd,cmstart.exe"
The result of removing CtxHide.exe is that users can see usrlogon.cmd running on logon.
2. Swap CtxHide.exe for Runh.exe
Runh.exe has been used to hide usrlogon.cmd script from the user experience prior to Metaframe Presentation Server 3.0. It performs the same function as CtxHide.exe. For more information on runh and to download the executable go to: http://thin.msterminalservices.org/runh.cfm.
Download runh.exe from the above link and place the runh.exe in the server’s system32 directory. In Windows registry navigate to the AppSetup key, remove CtxHide.exe and replace with runh. Runh will now call and hide usrlogon.cmd.
Windows Registry Editor Version 6.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AppSetup"="runh UsrLogon.Cmd,cmstart.exe"
To return to the original configuration navigate to the AppSetup value, remove runh and add CtxHide.exe.