Category Archives: Liquidware Labs

Creating Filter Groups in Profile Unity

Filter groups in Liquidware Labs Profile Unity are an extremely useful feature for limiting rules and settings for only a certain subset of users or computers. These enable you to target thinapp’s, for instance, to AD groups or OU’s or even specific users rather than to entire pools.  Or Add/Delete a registry key or value if a certain file or service exists.  There’s many different options for filter groups, and i’ll cover a few of them in this post.

Continue reading

Profile Unity Startup and Logoff Scripts in Windows 7

In Profile Unity, the process of loading a users profile and saving the profile are triggered by scripts. These scripts are normally configured in Group Policy. The startup script is configured under Computer configuration and the Logoff script is under User configuration.

I started noticing issues in Profile Unity 6.0.5 with profiles loading properly as well as saving properly. Digging into the issue, it was discovered the Liquidware Labs has added a new method of triggering the Startup and Logoff process for Windows 7 and later.

Both the old and the new method are configured in the same place in Group Policy, its just the file called has changed.

For Startup, the previous method was

Script Name:
%systemroot%\system32\wscript.exe

Script Parameter:
\\[domain name]\netlogon\ProfileUnity\startup.vbs //b

The new method is

Script Name:
\\[domain name]\netlogon\ProfileUnity\LwL.ProfileUnity.Client.Startup.exe

No parameters needed

For Logoff, the previous method was

Script Name:
%systemroot%\system32\wscript.exe

Script Parameter:
\\[domain name]\netlogon\ProfileUnity\logoff.vbs //b

The new method is

Script Name:
\\[domain name]\netlogon\ProfileUnity\LwL.ProfileUnity.Client.Logoff.exe

No parameters needed

Using this new executable, as opposed to the VBscript, has resolved the random profile loading issues at login and the issue with saving profiles at logoff that were previously being experienced.

For further reference, this change is documented in the Install guide, but as of 6.0.5 Patch 2 it does not appear to be mentioned in the release notes.

Debug Logging in Profile Unity 6

In Liquidware Labs Profile Unity 5.7 and later, detailed logging of the login and logoff process have been added to greatly enhance the ability to troubleshoot profile loading and saving issues.  These logs are useful for everything from troubleshooting to quantifying how much time Profile Unity adds to the logon process.

There are two locations to enable logging.  The first location is for the login process logging and the second is for log off logging.  Login logging will show you information such as the loading of portability settings, how long each portability file takes, how long profile unity takes to load the profile and other various login details including any errors.  The log off logging will show overall time to save profile, each individual portability setting and of course any errors.

To enable login logging we need to edit LwL.ProfileUnity.Client.exe.config in the client.net.zip file in the netlogon share.  \\domain\NETLOGON\ProfileUnity\client.net.zip

The settings are in the User Settings section.

<UserSettings>
    <LWL.ProfileUnity.Client.Properties.Settings>
        <setting name="LogLevel" serializeAs="String"> 
            <value>Fatal</value>
        </setting>
        <setting name="LogPath" serializeAs="String"> 
            <value/>
        </setting>

Edit the Log Level to be Debug and change Log Path to a location that the desktops can write to.  By default it writes to %temp%.  If these are non-persistant desktops and you want the logs after the desktop has been refreshed or recomposed, remember to redirect them to a location that persists across sessions.

<UserSettings>
    <LWL.ProfileUnity.Client.Properties.Settings>
        <setting name="LogLevel" serializeAs="String"> 
            <value>Debug</value>
        </setting>
        <setting name="LogPath" serializeAs="String"> 
            <value>\\server\share </value>
        </setting>

Once your desired changes are complete, save the file back into client.net.zip

The next step is to increment the version in  \\domain\NETLOGON\ProfileUnity\client.net.vbs.  To do this, edit the file and search for ClientDotNet_Version= and increment the minor version.  ex. 6.0.421-<Date>-<Time> and change it to 6.0.422-<Date>-<Time>.  This tells Profile Unity that there is a new version of the client and to reload the client on the next desktop refresh.

The last step for login logging is to refresh the desktops where you desire this logging.  In VMware View, you can refresh individual desktops or entire pools.  During the next login after the refresh, log files should appear in the location defined above.  The log files will be in a sub-folder titled ProfileUnity.

 

For log off logging, we need to make similar changes, but to a folder on the desktop(s) where you want to log the log off process.  Edit C:\Program Files\ProfileUnity\Client.NET\LwL.ProfileUnity.Client.exe.config.  The settings to change are the same lines as above, but for non-persistant desktops, you will need to redirect to a directory outside of the desktop as the logs will disappear once the machine is refreshed after the log off.  This is the only change needed to log the log off process.