Geeks With Blogs

News Clicky Web Analytics

web stats View David Caddick ('s profile on LinkedIn

Search this Site!

Locations of visitors to this page
View My Stats eXTReMe Tracker
This posting is provided "AS IS" with no warranties, and confers no rights. The opinions expressed within are my own and should not be attributed to any other Individual, Company or the one I work for. I just happen to be a classic techie who is passionate about getting things to work as they should do (and are sometimes advertised and marketed as being able to?) and when I can I drop notes here to help others falling in to the same traps that I have fallen in to. If this has helped then please pass it on - if you feel that I have commented in error or disagree then please feel free to discuss with me either publically or privately? Cheers, Dave
Thin Clients, VDI and Linux integration from the front lines.... Raw and sometimes unedited notes based on my experiences with VMware, Thin Clients, Linux etc.

How to harness the resilience and speed of using a Mandatory Profile in a Large MS Centric Environment, but still retaining the Flexibility and Customisation of the Roaming Profile. Redirected Folders enforced by GPO's can take care of most of the hard work in this, but the registry and the modification of the NTUSER.DAT File still represents something of a challenge. Flex Profiles is a Freeware product available from or try Jerome's site at, in essence Jerome at Login Consultants has really stripped Flex Profiles down to three basic components detailed below.

Create Common Control Point for the Flex_Config:
What we're really after here is a replicated control point where we can leave the common control (*.INI) files.

As such the best way of doing this might be to use the NETLOGON Share on older NT4 Systems, or alternatively use the SYSVOL Share on AD Systems. If on the other hand you already have DFS in use in your organisation then this might probably be the better approach?

Once you've decided on where it's going to be, just copy the Flex_Config Folder to that location, and if it is going to replicate - then just check that it is actually replicating correctly?

Server/Workstation/Thin Client:
Install the FlexFrameWork from the MSI
This can be scripted using "msiexec /i "\\Server\Share\FlexFramework.msi" /qn"
The Default install location is "C:\Program Files\Flex Framework"
(Yes it really is that Simple!!)

Logon/Logoff Script:
Configuring the Flex Framework in the logon and logoff script - the syntax to activate the Framework is:
In practise the command above could be configured in the logon script as this example;
CSCRIPT /NOLOGO "%PROGRAMFILES%\Flex Framework\Flex_Framework.vbs" LOGON \\<your server>\SYSVOL\<your dns>\Flex_Config
The logoff script should be configured the same, expect "LOGOFF" needs to be configured:
CSCRIPT /NOLOGO "%PROGRAMFILES%\Flex Framework\Flex_Framework.vbs" LOGOFF \\<your server>\SYSVOL\<your dns>\Flex_Config

It is then down to the logon/logoff scripts that act as the glue to join these other two components together, with the Flex_Config\Framework.ini file controling where the resultant *.OPS files are saved for each user, typically this would be under the %HOMEDRIVE%\%HOMEPATH% and in our particular case we have decided to create an additional folder called Flex under the H:\Windows Folder.

To better understand how this actually does what it does (And how simple it really is), extract the files from the zipped file in to a directory then just navigate to
\\<whatever>\FPKv4.01\Flex Profile Kit\TESTME!! and then run the TESTME!!.CMD script - it is totally benign - and then you will understand how simple and powerful this is.

What this now enables is that you can control what is saved or not saved from the registry, generally by application, from the mandatory profile by manipulating the ini files in Flex_Config.
Adding support for Silo's or Groups of different Servers/Workstations/Thin Clients can be simply acomplished by either adding a *registry value* OR a *System Environment Variable* to the Servers/Workstations/Thin Clients and then creating a coresponding folder under the Flex_Config Folder.

The reason why I have specifically refered to the devices as "Servers/Workstations/Thin Clients" is that Jerome has also included support for the 7z compression right out-of-the-box so it could also prove quite beneficial in environments where devices live at the far end of a WAN Link.

Steps to install in Test Lab:
Add "Flex_Config" Folder under \\uk\dfs\Templates or T: drive
Decide on configuration and Silos, modify FrameWork.INI to Suit
Install Flex Framework on all Citrix Servers in Test Lab using Altiris to deploy
Add "Flex FrameWork" as a Security Group in Test Lab's AD
Modify Logon and Logoff Scripts to add final check at the end - "IF member of Flex Framework Group then..."
This will allow us to control who will or will not be effected, and allow a measure of flexibility while testing
Check OPS files have been created
Now redirect User to New Mandatory Profile

Additional Tweaks?
Modify Login Script to check for OPS files, once correct parameters are met (and the existance of the backup *.OPS files indicate a second pass?), it might be possible to use AD Scripting to change users Profile from Roaming to Mandatory automatically?

Posted on Thursday, July 14, 2005 7:07 AM Citrix , IT Management , Microsoft Tips | Back to top

Comments on this post: How to get Roaming Profile behaviour from Mandatory Profiles - Some raw notes on Flex Profiles 4.01

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Dave Caddick | Powered by: