Hi all! I’m looking for a new contract, if you need any help with your upcoming XenApp project please get in touch via linkedin, the link is on the left. Thanks!
At a client site I came across something that I hadn’t seen before whereby Server 2008 R2 would reserve almost half of the available RAM for system devices and call it Hardware Reserved RAM. Out of 46 Gig available, 20 was assigned to system devices of which 10 GB was assigned to a block of PCI-e ports. Having never come across this before I decided to dig around a bit deeper. Opening up the Device Manager and changing the view to be Resources by connection, it was then possible to see the different memory blocks that were allocated. From this screenshot we can see the PCI bus has about 10GB of RAM allocated. Exactly why it’s doing this or how to fix it is something I’ve yet to work out. This article goes into detail about how to see what’s using your memory, but doesn’t explain why this would happen on a 64bit operating system. More research is required, I’ll post back any findings.
Have you ever wanted to export a list of XenDesktop VDIs to CSV with PowerShell?
I wanted to do this just recently but had trouble finding the relevant info, so hopefully this helps someone out. Make sure you have the Citrix Powershell SDK installed. The PowerShell SDK is installed by default on XenDesktop 5 Controllers. From the Citrix Knowledge Center article Getting Started with PowerShell in XenDesktop 5
Begin a PowerShell session by clicking the blue icon on the taskbar or browsing to Start > All Programs > Accessories > Windows PowerShell > Windows PowerShell (On 64-bit systems, this starts the 64-bit version. Either the 32-bit or 64-bit versions will work fine though.)
Type Asnp Citrix.* and press Enter. This loads the Citrix-specific PowerShell modules. (Asnp is short for Add-PSSnapin). Run the Citrix cmdlets. To list all of the ones available, run Get-Command –Module Citrix.* Help might be obtained on any cmdlet by running Get-Help <cmdlet> such as Get-Help Get-BrokerDesktop (additional details might be obtained by adding on the –examples, -detailed, or –full switches)
The command you want to export a list of XenDesktop VDIs to CSV with PowerShell is as follows: Get-BrokerDesktop -AdminAddress servername -MaxRecordCount 1000 -DesktopKind Private | sort desktopgroupname | export-csv “outputfile.csv" Items in bold can be changed to required values. Hope this saves you some time searching!
Did you know you can Troubleshoot problematic sessions using Citrix UPM?
You can! Citrix User Profile Manager keeps useful logs on lots of things but wht you may not realise is that it also keeps a log of the last servers a user successfully logged in to. This info can be useful for troubleshooting stuck sessions and profile issues, especially when your Citrix Delivery Services Console isn’t forthcoming in showing the session that is stuck. When you get users calling and reporting they can’t log in or are having issues with their profile just have a look inside the users citrix upm profile at their PMCompatibility.ini file. This will show you the last server the user logged in to, and from there you can see if their session quit properly or if there is a lock on any files in their profile on that server that stopped it unloading.
Hacking Citrix Licensing Server password files is fairly trivial…
Open up C:\Program Files (x86)\Citrix\Licensing\LS\conf\server.xml in your editor of choice and you’ll see several entries such as
<user firstName=”-N/A-” id=”DOMAIN\User” lastName=”-N/A-” password=”(ENC-01)longencryptedstring” passwordExpired=”false” privileges=”admin” type=”domain-admin”/>
It’s pretty easy to just to add in new accounts here or change the password field of an existing account. Delete everything in the password field between the “” and replace it with a palintext password. (you’ll be promted to change it, just keep it simple) Change passwordExpired= to “true” Restart the licensing service. Log in with your account and password you created. It should ask you to change it. This new password gets encrypted and stored in place of the old plaintext one you put in. Done! Don’t add extra line breaks in this file or it won’t work. Some older versions of licensing server used to leave the plaintext passwords in there, yet another reason to upgrade to 11.11.1
I’ve been doing a heap of work with a new Citrix XenApp 6.5 deployment using single sign on, here are a bunch of links that helped me get everything up and running.
Configure Pass-through Authentication for Citrix XenApp 6.5 http://www.virtuallyimpossible.co.uk/configure-pass-through-authentication-for-citrix-xenapp-6-5/
Citrix Profile Management and VDI – Doing it Right! Some useful stuff about getting folder redirection working. http://blogs.citrix.com/2012/02/11/citrix-profile-management-and-vdi-doing-it-right/
Configure URLs for online plugin http://support.citrix.com/article/CTX112674
A Field Guide to XenApp 6.5 Session Pre-Launch This gives a great explination of what pre-launch is too. http://blogs.citrix.com/2012/02/10/a-field-guide-to-xenapp-session-pre-launch/
XenApp applications won’t launch in a PVS environment with multiple network interfaces http://www.jasonsamuel.com/2012/10/08/xenapp-applications-wont-launch-in-a-pvs-environment-with-multiple-network-interfaces/
Removing hidden or ghosted devices from a Windows virtual machine (2010145) Useful if you’ve cloned or P2Ved a machine. http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2010145
How to Set Up Session Sharing Precedence Over Load Balancing in a XenApp Farm Useful for prelaunch and when you have non concurrent licensing. http://support.citrix.com/article/CTX126839
Automatic creation of user folders for home, roaming profile and redirected folders Why you would try to do this manually I don’t know. http://blogs.technet.com/b/askds/archive/2008/06/30/automatic-creation-of-user-folders-for-home-roaming-profile-and-redirected-folders.aspx
Security Recommendations for Roaming User Profiles Shared Folders http://technet.microsoft.com/en-us/library/cc757013.aspx Load balance XML brokers through Netscaler http://www.thegenerationv.com/2009/07/how-to-resolve-xml-black-hole-in-xenapp.html
How to fix the latency issue with load balanced XML Brokers through netscaler (TL;DR enable UDP 137 to your virtual server IP)http://support.citrix.com/article/CTX118670
Understanding Citrix XML Broker A good overview of how all the XML bits work http://apttech.wordpress.com/2012/02/08/understanding-citrix-xml-broker-and-troubleshooting-one-xml-broker-issue/
How to Use the Command Line to Install the Version 11.2 Plug-in or Later Pretty much required to get SSO working (unless you’re running the Enterprise version) http://support.citrix.com/article/CTX123448
Why You Shouldn’t Install Citrix Receiver on Citrix XenApp Only true if you don’t use session pre-launch! http://www.xenappblog.com/2011/why-you-shouldnt-install-citrix-receiver-on-citrix-xenapp/
Reduce application launch time with Session Pre Launch http://support.citrix.com/proddocs/topic/receiver-windows-34/receiver-windows-session-pre-launch.html#receiver-windows-session-pre-launch
XenApp 6/6.5 Profile Optimization http://www.citrixirc.com/?p=99
Customize the default local user profile when preparing an image of Windows This seems like way more of a pain in the ass than it needs to be. http://support.microsoft.com/kb/973289
To specify a template or mandatory profile for Citrix User Profile Manager http://support.citrix.com/proddocs/topic/user-profile-manager-5-x/upm-template-profile-t.html#upm-template-profile-t
UPMConfigCheck Tool http://support.citrix.com/article/CTX132805
This is mainly of use to people running remote desktop services or citrix xenapp and wanting to hide Libraries or Favorites from Explorer and from file dialog windows for all users.
You can do this a number of ways, but using the tool here is the easiest way I’ve found. It only requires you to log out and log back in again to see the change.
It’s per server, and sets it for all users. You can also easily change it back.
unzip it and run from a command line
wenpcfg /HideLibraries /HideFavorites
If you use Terminal Services (TS) to connect to a virtual machine running a terminal server, and you have the roaming profiles feature enabled, TS caches your profile in the virtual machine for the duration of your TS session. When you log off at the end of the session, TS tries to rewrite your profile to the roaming profile server.
If you also have the VMware shared folders feature enabled in the virtual machine, TS tries to copy the filehgfs.datback to the roaming profile server. This operation fails because VMware Tools keeps the file open with exclusive access; the file cannot be accessed by the Windows guest. This results in the error.
You can work around the problem by changing a value in this registry key:
The workaround disables the VMware shared folders feature in the virtual machine. Since the feature is not supported by ESX Server or GSX Server, disabling it is not a problem. However, if you migrate the virtual machine to Workstation, you will not have access to VMware shared folders unless you re-enable the feature.
Caution: This procedure involves modifying the registry. Incorrect changes to the registry can leave your system unstable or unable to run. Always back up the registry before editing it and exercise caution in making changes to the registry. VMware takes no responsibility for problems that may arise.
- Access the Windows Registry. Click Start > Run, type regedit, then click OK. The Registry Editor window opens.
- Navigate toHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order.
- Right-click ProviderOrder and choose Modify. In the Edit String Value dialog box, edit the value data string and remove the word hgfs, vmhgs, or vmhgfs).
- If the value data string contains LanmanWorkstation,hgfs, LanmanWorkstation,vmhgs, or LanmanWorkstation,vmhgfs, change it to LanmanWorkstation.
- If the value data string contains only hgfs or vmhgfs, erase it and leave the value data string empty.
- Click OK.
- Close the registry editor. Choose File > Exit.
- Reboot the virtual machine.
If you ever want to re-enable the VMware shared folders feature, add ,hgfs, ,vmhgs, or ,vmhgfs to the end of the value data string, or set the string to hgfs, vmhgs, or vmhgfs if it is empty. Alternatively, you can reinstall VMware Tools, using the Complete option to re-enable shared folders.
Why is this so hard to find? I’ll leave it here in case anyone needs it.