28 December 2012

AppSense - How to configure an AutoCAD 2013 profile on first launch with Environment Manager

Hi,

I am currently working on a project on with AutoCAD 2013 to automatically preconfigure it on the first launch for a user. So here are the steps how to achieve that with EM.

  1. On an admin workstation start up AutoCAD 2013 and configure all the things you want to have for your users on first launch.
  2. When you are done stop the application and copy the following things to a network share:
    1. %APPDATA%\Autodesk
    2. %LOCALAPPDATA%\Autodesk
    3. HKEY_CURRENT_USER\Software\Autodesk (-> export this key as a .reg file)
  3. Now we are starting with the first time configuration. The first thing is that I am using an If/Else condition to check if there are already configuration settings on a network share for the user. If this is true I am copying back in this settings but if this condition is false then I am firing up the first time configuration settings which are the following.
  4. I am creating an Process started trigger for the AutoCAD 2013 application and configuring the following settings:
                            
    As a short explanation: I am creating the folders under %APPDATA% und %LOCALAPPDATA% and then copying back the folders from the network share where we saved the pre-configured settings from number 2. With the registry we have to do some AppSense "magic" because there is the username of pre-configured session hard-coded into the REG-file, so I am copying the reg-file to a temporary location on the disk, then do a textfile update where I am searching for the false username and replace it with the acutal username with the variable %username% and the end I am doing a reg import to import the changed registry-file for the user.
  5. When you have done that you are able to pre-configure your AutoCAD for all of your users on their first launch.


Grettings

michael.obernberger

27 November 2012

AppSense - How to personalize the Windows "Libraries"

Hi,

if you need to personalize the libraries for your users it is very easy done with AppSense. The whole thing you have to do is to make a mirror folder action which copies the whole folder %APPDATA%\Microsoft\Windows\Libraries to a network location (Homedrive, Homepath, ...) on logoff and copy it back on logon.

I have attached a short template configuration for this, which could be downloaded here.

Grettings

michael.obernberger

16 November 2012

AppSense - Default printer not being captured at logoff

Hello,

I had the following problem at an environment. When the user changed his default printer into a XenDesktop/XenApp Session it was not being captured correctly from the AppSense Environment Manager. After some research we found that it seems that a Citrix service is changing the default printer at logoff before EM could capture it and after some digging around we found that the following Citrix printer policy have to set to "Do not adjust the user's default printer":

After setting this policy everything worked correctly.

Grettings

michael.obernberger

21 June 2012

AppSense - Mouse Lags in a XenApp Environment

Hi,

I have installed a new XenApp 6.5 Farm with Local Profiles and AppSense User Virtualization. So I had the problem that on the first login the mouse movement in a Published Application was very, very sluggish. So after two or three days full of testing I have found that the following key seems to be a problem: HKCU\Control Panel\Desktop\UserPreferencesMask
After some more searching in the Internet I have found the following forum entry which gave me the sollution: http://forums.citrix.com/thread.jspa?threadID=261090
As a short compendium you have to make a AppSense Logon Configuration or a Group Policy Preference which sets the above registry key to hex : 90,12,01,80. I have provided a screenshot how it looks like:

This should solve your problem with the sluggish mouse movements.

Grettings

michael.obernberger

18 June 2012

AppSense - CCA on provisioned images

Hi,

I have updated my AppSense Management Server last week to the latest version (8.3.43.0) and had the problem after updating my Golden Images with the new CCA, that there was some weird behavior in the AMC, that some machines disappeared or showed status with 0% rolled out. After a short discussion the AppSense support gave me the solution.
It seems that something has changed in the 8.3.x CCA because at previous CCA updates I have installed the new CCA on the golden image and provisioned it again and it worked ok. With the new CCA you have to delete the group-id and machine-id of the CCA deployment and then provision the machine. So here is the correct process of updating the CCA:

  1. Install the latest CCA on the machine in Private image mode.
  2. Before provisioning the machine stop the service "AppSense Client Communications Agent"
  3. Now change the the following two registry keys to 0:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\AppSense Technologies\Communications Agent] "machine id"="{00000000-0000-0000-0000-000000000000}"
    • [HKEY_LOCAL_MACHINE\SOFTWARE\AppSense Technologies\Communications Agent] "group id"="{00000000-0000-0000-0000-000000000000}"
With these steps all machines should show up correctly in your AMC.

Update: This is also applies for vmware linked clones. Thanks to Peter for this information.


Grettings

michael.obernberger

16 June 2012

AppSense - Working with Else If Conditions


Hi,

Appsense introduced the Else If condition in version 8.1 or 8.2, I am not sure about that but it is one of the greates new conditions you get in EM. I will post an example where you could see, you powerful it is.

I have a XenApp 6.5 Farm with Office 2007 installed with various languages and I want to make sure, that the users from the various countries getting the correct language displayed. So I have a security group for each lanugange called: All_English, All_French, All_Italian and the default is german.
So the first thing I have made is a Process Started trigger for the different Office applications (Access, Word, Excel, Outlook, Powerpoint), then I am checking with a reusable node if you connect to the Citrix-Server and connecting via ICA so that language isn't changed for Administrators which are connecting via RDP. So here is a screenshot from the configuration right now:

Then I am configuring some Registry Keys which should prevent the users from any manual input on first start and doing some general Group policy actions.

And so the last thing is now to configure the language correctly for the different users with an Else If Condition. I am starting with the first one which is checking if the user is in the group All_English and configuring the group policies with the language for that and then add a new Else If for French and a new one for Italian and the last thing is an Else condition if the user is in none of the above groups to configure Office in German and thats it. I will attach some screenshot for you to better understand. The first one is a picture how I am checking the group membership in the If Condition. the second one is a overview of which GPOs I am setting. The third one, is the whole structure of the Else If condition.


So hopefully you now better understand or see how powerful this condition is to structure you configuration easier and faster.

Grettings

michael.obernberger

19 March 2012

AppSense - Set the system language for users on logon

Hello,

some of our new VDI users want to have their system language/program language in English-UK. Our Windows 7 SP1 Masterimage hast German as default installation language and default location. So these are the steps required for making it multilanguage compatible.

  1. Install the Windows 7 SP1 Language Pack for English which are listed here: http://www.mydigitallife.info/windows-7-sp1-mui-language-packs-official-direct-download-links/
  2. Install the Office Language Pack. You will be able to download it via the licensing portal or you could buy it directly from Microsoft if you do not have an enterprise agreement.
  3. Check the other applications you have installed for multilanguage features. Here are some examples of mine:
    1. Adobe Reader: You could set Adobe Reader 9/X with a registry key that it takes the language from the user account. See it here:  http://helpx.adobe.com/acrobat/kb/controlling-reader-mui-startup-language.html
    2. 7-Zip: You could set the language to English with the following registry key: HKEY_CURRENT_USER\Software\7-ZIP
      ValueName: Lang
      ValueType: REG_SZ
      Value: en
  4. To make the setting of the language silenty on login the first thing you have to do is to make a language XML file where you configure your settings. See some information on this here, here and here. When you are done with this than copy the file to a central location or in your master image.
  5. Now I am making a new logon action where I am first checking if the OS is Windows 7 or Windows 2008R2 because this way is only supported from Windows Vista upwards. Then I am checking for a security group where all English Speaking Users are grouped into and then we are doing the "magic" with a custom execute action where we firing up the control panel item for "Regions and language" and do a silent import of our before created XML file. Even more I am setting two group policy objects to restrict this user only to English as language.

The rest of the configuration for Office, Adobe Reader, 7-Zip and so on I am doing with process started triggers for faster logon times.

Best Regards,

michael.obernberger

16 March 2012

AppSense - How to delete or add users to a group

Hi,

I want to add a group to the local administrator group on logon dependent on the existence of a specific EXE file. So as you could do this with group policies built in function.

But there is a way to do this with AppSense Environment Manager. So the first thing I am doing is to check for a specific exe-File on x86 or x64 and if this exists I am firing a custom execute to add the group "Testgroup" to the local Administrators group:

The only "problem" with this command is that you have to be connected to the network for this to function correctly.


michael.obernberger

09 March 2012

Citrix XenDesktop 5.6 is now available for download

Hello,

since today Citrix XenDesktop 5.6 is available for download from the Citrix website.

The new features are:

  • Personal vDisk - This feature is a personalization solution for virtual desktops. Two new types of catalog allow you to preserve the assignment of users to desktops even when the disk is cleaned at restart; the same user is assigned the same desktop for later sessions. The new catalogs arepooled with personal vDisk (for pooled-static virtual desktops) that you manage with Desktop Studio and streamed with personal vDisk that you manage with Provisioning Services. In addition, a dedicated storage disk is created, before logon, so users can store their data on the desktop, including any applications they install. For background information on this feature, see About Personal vDisks.
  • System Center support - XenDesktop now supports Microsoft System Center 2012 Configuration Manager and Microsoft System Center 2012 Virtual Machine Manager.
  • Virtual Desktop Agent - A new version of the Virtual Desktop Agent fixes issues in the version included with XenDesktop 5.5. These are the issues which are fixed: http://support.citrix.com/article/CTX124164
  • Citrix Licensing - Citrix Licensing 11.10 lets you assign access to the License Administration Console using Active Directory Users and Groups.
  • Desktop Director - Desktop Director 2.1 supports personal vDisks and contains fixes since the last release. For more information, see the Desktop Director documentation
.

Best Regards,
michael.obernberger

08 March 2012

Citrix - How to pass through a parameter to a published application

Hello,

I want to give you a short how-to for passing through a parameter to a published Citrix XenApp Application.
I have tested this on XenApp 5 with Feature Pack 3 and Online Plugin 12.1.

  • The first thing you have to do is changing your published application Location. Go to the command line and at the end of the executable type %** (without quotation marks) and click OK.
  • On your client you could now fire up the published application with the parameters you want to have with the command line:
    "C:\Program Files\Citrix\ICA Client\pnagent.exe" /QLaunch "FARMNAME:PUBLISHEDAPP" /param:"X:\test.txt"
    You have to change the Farmname and Published Application Name and set the parameters under quotation marks.
Thats it and with this shortcut you could fire up your application with custom parameters.


Best Regards,

michael.obernberger

14 February 2012

AppSense - How to enable/disable Proxy depending on your location / Proxy de-/aktivieren je nachdem wo man sich befindet

Hallo,

da wir unsere Proxysettings via Gruppenrichtlinie verteilen hatten wir immer wieder das Problem, dass die User mit ihren Notebooks zu Hause nicht surfen konnten, daher haben wir nun im AppSense folgende Konfiguration abgebildet.



  • Weiters habe ich nun eine Reusable Condition angelegt wo die Netzwerke abgefragt werden:

  • Nun wird dies alles in einen Resuable Node zusammengefasst und zwar wird hier zuerst abgefragt ob es sich um ein Notebook handelt und dann wird der Proxy erstmal auf 0 gesetzt und danach dann geprüft ob er in einem der vorgegeben Netze ist und danach auf 1 gesetzt.

Danach habe ich diese beim Login und beim Network Connected eingefügt!
Anbei auch nochmal die ganze Konfiguration, wobei ich für diese keine Haftung übernehme!


Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

10 February 2012

AppSense - Problems with Applications which rely on the "Shell Folders" Key and the location is on a network share

Hallo,

ich hatte vor kurzem nach einem Upgrade auf die aktuellste Environment Manager Version 8.2 das Problem das gewisse Citrix Applikationen nicht mehr einwandfrei funktioniert haben. Wir setzen in unserer derzeitigen XenApp Farm noch auf Roaming Profiles/Folderredirection daher ist z.B. der Appdata Ordner auf einem Netzwerkshare.
Nach einer langen Suche und großer Hilfe vom AppSense Support wurde mir die Ursache präsentiert. Und zwar läuft hier die Funktion SHGetFolderPath in ein Timeout und daher wird der Registry Wert in dem Key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders auf NULL gesetzt und die Applikation funktioniert nicht mehr.

Mit folgendem Registry Key kann das Problem gelöst werden: HKEY_LOCAL_MACHINE\SOFTWARE\AppSense\Environment Manager
REG_DWORD: CreateSpecialPaths  mit dem Wert 0 einfügen

Weitere Infos dazu auch in der AppSense KB unter dem Link: https://www.myappsense.com/Knowledgebase/TN-150617.aspx

Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

AppSense - How to set a environment variable at Session Unlock/Lock

Hallo,

ich hatte heute die Herausforderung ein Environment Variable beim Session Unlock zu setzen. Dies kann zwar mit dem Environment Manager konfiguriert werden jedoch wird die Variable nicht gesetzt. Nach einem kurzen Meinungsaustausch mit dem AppSense Support wurde mir mitgeteilt dass Windows beim Session Unlock nicht immer die Variablen refreshed und dies somit nicht zu 100% funktioniert.
Nach ein paar weiteren Tests habe ich festgestellt dass das in Windows eingebaute Programm SETX.EXE eine Environment Variable setzt und diese sofort auch für den Gebrauch verfügbar ist. Also lasse ich nun folgende Custom Action laufen beim Session Unlock um die Variable zu setzen:

Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

02 February 2012

AppSense - How to apply registry keys to a personalized application on process started

Hallo,

da bei einer personalisierten Applikation alle Registry Zugriffe in die virtuelle Registry umgeleitet werden ist es nicht so einfach möglich für solch eine Applikation Registry Keys zu setzen, dafür gibt es aber den APPSENSESPECIAL Switch.
Anbei habe ich beim Process Started der Applikation notepad.exe mit folgender Custom Execute Action das Ziel erreicht.

Hiermit wird beim Start der Applikation "notepad.exe" ein Registry File importiert. Ich rufe die reg.exe als reg1.exe von einem Netzwerkshare auf, da die normale reg.exe in der Default Appsense Blacklist ist und somit dies nicht funktioniert.

Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article