Tag Archives: citrix

After Performing a DSMAINT /RECREATELHC the IMAService Does Not Start


After running a DSMAINT /RECREATLHC on a XenApp server, the IMAService  does not restart.  Error messages in the log indicate the following:

EventID 3609 IMAService

Failed to load plugin MfSrvSs.dll with error IMA_RESULT_REGISTRY_ERROR

EventID 3601 IMAService

Failed to load initial plugins with error IMA_RESULT_REGISTRY_ERROR

EventID 7024 Service Control Manager

The Independent Management Architecture service terminated with service-specific error 2147483690 (0x8000002A).


Make the following change to the registry:



The IMAService should now start normally.





How To Increase Space on an iSCSI XenServer LUN

When increasing the size of iSCSI SR, this change is not reflected by default within XenServer.  To resolve this, follow the procedure outlined here.  I am including one minor change to original article CTX126473 (addition of your host-uuid in step 3):


Note: This procedure does not cover any activities that must be performed on the storage array itself. Consult the storage array documentation for information on modifying the size of a LUN. Also, the LUN size modifications must be completed prior to performing the instructions below. Note also that this example applies to a XenServer iSCSI Storage Repository only.

Note: UUIDs for Master XenServer and target SR can also be found within XenCenter – command line for this is not necessarily required to obtain these.


Identify the SR Universally Unique Identifier (UUID)

#xe sr-list type=lvmoiscsi name-label=<Name of your SR> –minimal


Identify the device this SR is using:

#pvs | grep <UUID from step 1>


Identify the iSCSI target name to rescan:

#xe pbd-param-get uuid=$(xe pbd-list sr-uuid={UUID from step 1} –minimal host-uuid={master UUID}) param-name=device-config param-key=targetIQN


Extract the content of the image

# iscsiadm -m node –targetname < targetIQN from step 3> -R


Update the Physical Volume size:

# pvresize /dev/<device from step 2>


Update the SR size:

#xe sr-scan uuid=<UUID from step 1>







Attempt to Boot PVS Target with BDM ISO Results in “No ARP Reply”

I recently ran into a problem booting a provisioned XenApp target using Provisioning Services 6.1. The target was set to boot a maintenance version of a known good vDisk. The resulting error was “No ARP Reply”.


This target was using a BDM .iso boot configuration, running under XenServer 6.02, and we were using Provisioning Server 6.1 with all latest available hotfixes.

If this same target was set to boot a Production/Testing version of the image, it would boot fine. At first it seemed the obvious problem was that there was a problem with the associated .avhd, but this exact problem was able to be replicated using another target device, and another .vhd image altogether.

It appears this may be a bug in the Provisioning Server 6.x product, but this problem can be worked around by adding the following registry entry on all your Provisioning Servers:

HKLM\Software\Citrix\ProvisioningServices\SkipBootMenu [DWORD]

Value Behavior

  • 0 Not Defined, normal behavior (default)
  • 1 Don’t send a boot menu to device. Automatically pick the first item that would been on menu and act as if it was the only version assigned, ignoring the device type.
This will eliminate the boot menu altogether, so may only be a usable workaround if this menu is not required in your environment.

Citrix also states that another client worked around this by using PXE instead of BDM.



EdgeSight Error "Citrix System Monitoring Agent has detected that the database is potentially corrupt. Database maintenance and restart will be attempted."


You see the above error in the Event Viewer logs on the Citrix Server or XenDesktop PC.

Potential Solution:

This error means that for some reason, the database cannot be read, synchronized, or written to.  Quite often this is referring to the inability to write data to the local files located in:

C:\Documents and Settings\All Users\Application Data\Citrix\System Monitoring\Data

1)  Ensure that your Anti Virus real-time protection has proper EdgeSight exclusions, including all files in the above directory, and services that run within:

C:\Program Files\Citrix\System Monitoring\Agent

See:  https://support.citrix.com/article/ctx111062

2)  In the event of an architecture using XenDesktop and the EdgeSight VDA agents, this error may also be caused by similar exclusions not being made, or working properly, on the EdgeSight Firebird (Agent) server.

3)  Also check the EdgeSight server exclusions.

See:  https://support.citrix.com/article/CTX114906

4)  Check other potential problems such as communication between your EdgeSight agents, servers, ensure there are no network problems.



Reconciling XenServer VM with Exact Disk File in XenServer


You are deleting XenServer VMs and notice that the attached disk name is the same for various VMs, and want to ensure that you are deleting only that VMs disk, and this disk is not being used by other VMs.

How can you verify the exact disk file connected to a certain VM?



If you want to double-check this link, you can do a "xe vm-list" and using the UUID of the VM in question, run the following command:

xe vbd-list vm-uuid=<uuid of vm>

This will show you all VDIs associated with that VM, as well as their name labels.

If you change the name-label (can be done via XenCenter, for instance) you can then also see which is associated with which particular VM by its label as an added check.



How to Save Access Management Console Settings



You have installed the Access Management Console (AMC) on a Citrix server, or a management PC, and wish to save the settings.   By default, you have to reconfigure it each time it's run.


To improve efficiency and minimize per-user configuration, you can modify this behavior. The following steps outline the process required to deliver a preconfigured and discovered console to support personnel such as help desk analysts.

1. On a XenApp server, run mmc.exe (for 64-bit, use mmc /32 so you bring up the 32-bit version if the MMC). Under the File menu, select Add/Remove Snap-in.

2. Within the Add/Remove Snap-in dialog, click Add. Select Citrix Access Management Console and then click Add, Close, and OK.

3. Within the Microsoft Management Console (MMC) tree, expand the Citrix Access Management Console node. The discovery wizard should launch, however if it does not, right-click on the node and select Configure and run discovery.

4. Complete the discovery wizard as applicable, but specify LOCALHOST as the Citrix XenApp Server to discover, if you intend to manage a XenApp farm.

5. Once the discovery wizard has completed, under the File menu within the MMC, select Options. In the Options dialog, under the Console mode dropdown, select User mode – limited access, single window. Leave the rest of the options unchanged and click OK.

6. Save the modified MMC window using the Save As option in the File menu. You can choose any name and location. For example, custom_amc.msc.

7. To deliver your custom Access Management Console to your administrators, copy the MSC file saved in step 6 to your desired XenApp server. Publish the console using the publish application wizard. The command line path should be as follows:

<WINDIR>\System32\mmc.exe “<path>\custom_amc.msc

Where <path> is the location to which you copied the custom_amc.msc file.

More Information:

CTX114692 – The Access Management Console Discovery Process Runs Each Time the Access Management Console Opens
CTX115866 – How to Customize the Access Management Console



Useful XenApp 6 Hotfix & Patch Resources


There are a lot of followup hotfixes and patches for XenApp 6.0.   If you are unable to upgrade to XenApp 6.5, here are some very useful links for XenApp 6.0.

These links include necessary hotfixes, patches, and update scripts.


Various Sources Regarding Maintenance @ Citrix Links

Great Resources from Thomas Koetzing, including an automatic XenApp Update Script

Recommended Citrix and Microsoft Hotfixes for XenApp 6 and Windows Server 2008 R2



Citrix System Monitoring Agent Service is stuck "Stopping" or Failing to Run



You notice problems with the EdgeSight agent and/or database reporting, such as:

1)  real time data is not available from the endpoint/agents

2)  the 'citrix system monitoring agent' service is not running, or stuck in a 'stopping' mode

3)  you see the error message in the event log reporting "The Citrix System Monitoring Agent has detected that the database is potentially corrupt. Database maintenance and restart will be attempted."


Potential Solution:

1)  Ensure that your anti-virus solution settings are properly set.   This problem can occur when AV is scanning the local EdgeSight .exe's, log files, or on the EdgeSight servers.

2)  The following Citrix articles may help:


Recommended AV Settings for EdgeSight:




Additional information:




XenApp IMAService Failed: "Error while connecting to database….login failed"



IMAService fails to start with the following error:

Citrix XenApp failed to connect to the Data Store. ODBC error while connecting to the database: 37000 -> [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database "MF20" requested by the login. The login failed.


Check to see if account used to connect to SQL database credentials/password has recently changed. This may be a username/password issue.

To input new credentials on server, execute the following command:

DSMAINT CONFIG /USER:<domain>\<username> /pwd:<password>

After executing this command, restart the IMA service on the XenApp server, and re-check services.



How to Change/Move the SQL Database Location for an EdgeSight 5.x Server


Part 1:

Procedure for Moving the EdgeSight Database


1. On the EdgeSight Web server system, perform the following steps to shut down critical EdgeSight processes:

a. In the Control Panel's Services interface, locate and stop the Citrix RSSH Admin Service.
b. Using the Internet Information Services (IIS) Manager tool, stop the EdgeSight Web site.

2. On the current SQL Server system, backup the existing EdgeSight database. This can be done using the SQL Enterprise Manager (SQL Server 2000) or the SQL Server Management Studio (SQL Server 2005). See https://msdn.microsoft.com/en-us/library/ms187048.aspx">Backing Up and Restoring Databases in SQL Server for additional information.

3. On the new SQL Server system, create a new database called EdgeSight. Using the tools in step 2, restore the .bak file to the newly created EdgeSight database.

4. Create the esuser windows logon account within the new SQL Server system. The tools mentioned in Step 2 can be used to accomplish this. This account should be given full dbo rights to EdgeSight database.

5. On the existing EdgeSight Web Server computer, locate the web.cfg file, which is located in the \Program Files\Citrix\System Monitoring\Server\EdgeSight\Pages folder by default. You must edit the SQL connection string used by EdgeSight. To do so:

a. Locate the web.cfg file.
b. Create a copy of this file.
c. Edit the original and locate the <connectionStrings> tag. Edit the tag and enter the name of the new SQL Server system. Look for the Data Source= and Database. For example, if the new server is called MyNewSQLServer and the new database is called NewEdgeSight, then the line would read Data Source=MyNewSQLServer;Database=NewEdgeSight
d. Save the web.cfg file.

6. Navigate to the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\System Monitoring\Server\EdgeSight\4.0\Config

Modify the ZTECH_CONNECTION data value to reflect the same information as in step 5 above.

On 64-bit servers, the registry key is:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW64Node\Citrix\System Monitoring\Server\EdgeSight\4.0\Config

7. Restart the Citrix RSSH Admin Service and run IISRESET from the command prompt.

Note:  This information taken from https://support.citrix.com/article/CTX118977


Part 2:


Procedure for Updating the Reporting Services Database


If you moved the Reporting Services Database to another location, you will also have to perform the following additional steps.

From the EdgeSight Server:

1. Run Report Services Configuration Manager

2. Connect/Log In to your instance

3. Select Database / Change Database

4. Select 'Choose an Existing Report Server Database'

5. Enter proper credentials & complete this wizard

From within EdgeSight:

1. Log into EdgeSight

2. Navigate to Configure Tab / Reporting Services / Report Server

3. Re-enter the password/credentials under 'Data Source Credentials'

4. Save Changes