XenApp & XenDesktop 7.x – Error “Incompatible Settings on SDK” on Delivery Groups


My colleague came across this error message while working with a customer where he had to prevent Citrix Desktops from being shown to users if they are in a particular AD group. He didn’t recall what he did wrong but he ended up with Desktops doubling up for a standard user who isn’t a member of exclusion group.

Inspecting the delivery group, he noticed Desktops per user settings  under User Settings has a different value “Incompatible Settings on SDK

desktopsperuser

Querying the Delivery group

Get-BrokerEntitlementPolicyRule

Going through the results, there is an additional desktop without any filtering applied. The fix is to remove the additional desktop. In his case, it was named was “Desktop_2”

Remove-BrokerEntitlementPolicyRule -Name "Desktop_2"

Running the get command shows the below results.. the second desktop is gone!!!

startbutton

Hopefully this helps someone.

Remove Existing Storage under Hosting node in Citrix Studio – PowerShell way


On the Desktop Studio, there is a menu for adding additional storage but no option for removing the storage once it is configured.

However, there is a PowerShell cmdlet Remove-HypHostingUnitStorage that can be used for removing the existing Storage

The below is how my datastore connections look like and I am going to demo removing one of the existing connections VNX-Templates

Capture19

Open PowerShell in Admin mode and run the below commands one after the other

Capture20

asnp Citrix*

cd XDHyp:

cd HostingUnits

LS

Look for the below marked text in the output for ls command

Capture21

Run the below to delete the datastore

Remove-HypHostingUnitStorage -LiteralPath ‘XDHyp:\HostingUnits\DataStore – Hosted Shared Desktops’ -StoragePath ‘XDHyp:\Connections\MCSforXD\Mt Albert.datacenter\Production.cluster\VNX-Templates.storage’

Capture22

Wait for the command to complete. once done, refresh the Studio and you will notice that the datastore has been removed.

Capture23

Citrix themselves also has got a KB  out for doing the same and there are some pretty disclaimers and warning before you attempt to do this.  http://support.citrix.com/article/CTX131207

 

Creating a new XenDesktop 7 Catalogs gives the error ” The naming scheme is already in use”


This issue occurs if the same naming scheme has been used already -successfully or unsuccessfully. I say unsuccessfully because there may be cases when the catalog creation didn’t complete fully and error-ed making the naming scheme corrupted or invalid. In such cases, there are a few steps that you need to take to ensure that there are no residues of the old naming scheme in XenDesktop and Active Directory.

 

The first thing that you can do is to gather a list of all the Tainted and Available accounts. In most cases, the accounts would have gone Tainted.

Get-AcctADAccount -State Tainted

Capture12

If there are tainted accounts, it will give you a result which in my case is missing – there are no Tainted accounts

 

Now run the same command for Available accounts. An account that is already in use by a machine will be given “In Use” as status

Capture13

 

Note that, i have a catalog (IdentityPoolName) that is still lingering in XenDesktop which hasn’t been removed completely and that explain why i cant reuse the naming scheme. The name of the catalog is Windows 7 – MCS Catalog which I removed from the Studio but it was still lingering the active directory due to the machine accounts which aren’t deleted.

Now If you look at the status of the account, it says Lock =True , so the account has to be unlocked first before it can be removed.

As a good measure, also unlock the catalog itself before unlocking the machine account

Unlock-AcctIdentityPool “Windows 7 – MCS Catalog”

Capture14

You will get the above if the Identity Pool is already in Unlo9cked state. I would rather do it just to make the step by process complete.

Now what you need is the Account Name or the Account Sid, for that run the same command to see all the Available machine accounts

Capture13

Run the below to unlock the machine account first,

Unlock-AcctADAccount -ADAccountSid S-1-5-21-1833432947-1194699598-2219139318-38954

Now run the below to remove the machine account to release the naming scheme

Remove-AcctADAccount -IdentityPoolName “Windows 7 – MCS Catalog” -ADAccountSid S-1-5-21-1833432947-1194699598-2219139318-38954 -Force

Capture15

Now over just yet, now the IdentityPoolName has to be removed. Let us try a Get command for that

Get-AcctIdentityPool -IdentityPoolName “Windows 7 – MCS Catalog”

Capture16

There you go, you can see the naming scheme in there and that needs to be removed. For that, run the below

Remove-AcctIdentityPool -IdentityPoolName “Windows 7 – MCS Catalog”

Capture17

Thats it. You should now be able to reuse the same naming scheme.

 

 

 

Deleting a Desktop catalog in XenDesktop 7 gives the error ” The Machine Catalog could not be loaded, unable to find Machine creation data for id”


Citrix says the easiest way to fix a broken catalog is to recreate it. But what if it doesn’t allow you to delete the catalog to recreate it as happened to me.

The below error occurred when I tried recreating the desktop catalog in XenDesktop 7. The error message was

 

The Catalog could not be loaded due to the following errors:

Unable to find machine creation data for id 

Capture9

The below is how to fix the error and get back to running state

Remove-BrokerCatalog -Name “Name of the Catalog

 

Capture10

To get the name of the catalog, you can also run the below PowerShell command so as to avoid typing

Get-BrokerCatalog

Capture11