Liquidware Profile Unity & Office 365 Caching

As per my Office 365 in Non-Persistent environment – Product Comparison Matrix article .There has been some interest in the Liquidware solution and although the original article was comparing the full ProfileDisk configuration (all profile data is stored) , there is an alternative way to be selective of what is stored in the VHD for the user and therefore the below article will cover this setup/configuration and testing.

At time of writing only Outlook Caching has been included, other components will be added in due course as they have been proved.

NOTE: The template was released by liquidware on 8th February 2018, after the original product comparison matrix was released.

Liquidware Architectural Overview

lqoverview

Prerequisites:

Management Server System Requirements

Operating System Windows Server 2008 R2 + (64bit Only)
Software Microsoft .NET Framework 4.5.2, Erlang OTP, RabbitMQ Server, and MongoDB Server

All Installed during management software setup.

CPU 2 vCPU
Memory 4GB
Storage 20GB (minimum)

FileShare for Storage of VHD Disks

UNC Path to Store VHD (in my case i have used “\\LAB-DC1\ProfileUnity”) Share.

Share Permission

User Account/Group Permission
Everyone Full Control

NTFS Permission

User Account/Group Permission Folder
Administrator Full Control This folder, subfolders and files
Authentication User Modify This folder only
Creator/Owner Modify Subfolder and Files only

Install ProfileUnity Management Software

Step 1: Launch “ProfileUnity-Net_6.7.0gab3.exe” (downloaded from http://www.liquidware.com/download) and then Choose English (United States). Click OK

pu1.PNG

Step 2: Click Next at Welcome to the Pre-requisites wizard.

pu2PNG

Step 3: Click Next at Prerequisites to begin installing them.

pu3PNG

Step 4: Installation will begin and take several minutes to complete.

pu4PNG

Step 5: After all prerequisites have completed and installed successfully. Click Finish

pu5NG

Step 6: At Welcome to the ProfileUnity Setup wizard, Click Next

pu6NG

Step 7: At Select Installation folder, Leave as default. Click Next

pu7NG

Step 8: At logon information, provide a password for the service account required db/fabric services. Click Next

pu8NG

Step 9: At FlexDisk Broker Mode, Select Citrix , Click Next

pu9NG

Step 10: At End-User License Agreement , Select i accept the terms in the License Agreement. Click Next

pu10NG

Step 11: At Read to install , Click Install

pu11NG

Step 12: Installation will proceed and take several minutes to install.

pu12NG

Step 13: At Completing the ProfileUnity Setup wizard, Click Finish to Launch the Profile Unity Web Console.

pu13NG

Configuring ProfileUnity for Office365

Step 1: Login to ProfileUnity with username (admin) , password (leave blank) and Click the Arrow to begin login.

pu14NG

Step 2: At first login the password must be changed. Please change the password to secure password of your choice. Click Arrowpu17NG

Step 3: After login, select Administrator , Select Administration

pu35NG

Step 4: Scroll down to ProfileUnity Tools, Click Deploy Client tools to deploy client tools to the Netlogon folder.(%DOMAIN%\NETLOGIN\ProfileUnity)

pu34NG.PNG

Step 5: Browse to the %DOMAIN%\Netlogon\ProfileUnity and copy the ADM/ADMX into the Central GPO Store

pu36NG

  • ProfileUnity.adm to C:\Windows\PolicyDefinition\en-US (Local) or %logonserver%\sysvol\%userdnsdomain%\policies\PolicyDefinitions\en-US for (Central GPO Store)
  • ProfileUnity.adm.admx to C:\Windows\PolicyDefinition (Local) or %logonserver%\sysvol\%userdnsdomain%\policies\PolicyDefinitions (Central GPO Store)

Step 6: Create a GPO that will be assigned to Computer that will need the Profile Unity Client installed. Computer Setting\Policies\Administrative Templates\Classic Administrative Template\Liquidware Labs\ProfileUnity (32bit or 64-bit)

pu37NG.PNG

Step 7 – Browse to Auto-Install.Net Setting, Select Enabled 

pu39NG

Step 8 – Browse to System INI File Path setting and Specify the %DOMAIN%\NETLOGIN\ProfileUnity location where INI files will be deployed.

pu38NG

Step 9: Browse to Computer Setting\Policies\Windows Settings\Scripts\Startup and Add the following script “\\%DOMAIN%\NETLOGON\ProfileUnity\LwL.ProfileUnity.Client.Startup.exe”

pu40NG

Step 10: Create a separate GPO/or use Loopback processing on the Computer Objects to apply user settings. User Setting\Policies\Administrative Templates\Classic Administrative Template\Liquidware Labs\ProfileUnity (32bit or 64-bit)

pu37NG.PNG

Step 11 – Browse to System INI File Path setting and Specify the %DOMAIN%\NETLOGIN\ProfileUnity location where INI files will be deployed.

pu38NG

Step 12 – Browse to User Setting\Policies\Windows Settings\Scripts\Logoff and Add the following script \\%DOMAIN%\NETLOGON\ProfileUnity\LwL.ProfileUnity.Client.Logoff.exe:-

pu41NG

Step 13: Ensure that License file has been placed on %DOMAINNAME%\ProfileUnity folder as this the default locaiton otherwise any other location needs to be specified via License File path GPO.

pu42NG

Importing O365 template

Step 1 :- Download the JSON file from this article

Step 2 :- Browse Administrator/Administration/Templates and Click Add Template

pu43NG

Step 3 :- Select Template downloaded to Upload.pu22NG

Step 4 :- Confirmation of Import will show as successful.

pu23NG

Step 5 :- Select Configuration Management from Left Menu. Click Create Configuration.

pu24NG

Step 6 :- Select Guided Configuration

pu25NG

Step 7 :- Specify Active Directory Group that Configuration will apply (I.e WILKYIT\grp-puO365users), Click Add. Deployment path by default will be the ProfileUnity in NETLOGON. Then Click Next

pu26NG

Step 8 :- Select the recently created template (Office365 Outlook OST Storage Virtual Disk – Imported) . Click Next

pu27NG

Step 9 :- Specify path where the VHD will be stored. In my case \\LAB-DC1\ProfileUnity\%USERNAME%. Then Click Next

pu28NG

Step 10 :- At Deployment Path, Click Update to deploy the INI file into the default INI location (%DOMAIN%\NETLOGON\PROFILEUNITY)

pu29NG

Additionally the following steps need to be completed to ensure the user can write/own the permission on the VHD volume:-

Step 1: Create a VHDACL.ps1 with the following content

$varUsername = $env:USERNAME
$varUserdomain = $env:USERDOMAIN
$filesystemlabel = "ProfileUnity Virtual Disk 1"
$vol = Get-WMIObject -Class Win32_Volume -Filter "Label='$filesystemlabel'"
$link = $vol.DeviceID
icacls.exe "$link" /grant "$varUserdomain\${varUsername}:(OI)(CI)(F)"

Step 2: Copy the VHDACL.ps1 to the %DOMAINNAME%\NETLOGON\PROFILEUNITY

Step 3: Log into Profile Unity, Under Configuration Management and open the existing Configuration in earlier steps:-

pu47NG

Step 4: Click User Defined Scripts

pu48NG

Step 5: Add a new User Defined Script settings with the following:-

  • Description = VHD Permission Reset
  • Execute: After ProfileUnity at Logon (Post-Logon)
  • Type: Powershell
  • File : \\%DOMAINNAME%\NETLOGON\ProfileUnity\VHDCAL.ps1

pu46NG

Testing Configuration

Step 1: Log in as ctxuser1 (which is a member of the grp-puO365users)

pu30NG.PNG

Step 2: Profile Unity Splash screen will appear showing initialising

pu32NG

Step 3: The splash screen will show execution of O365 OST Virtual Disk, confirming INI file has been detected and is running for the user.

pu33NG

Step 4: Browsing to the Location specified in Configuration Section – Step 9

pu31NG

Step 5: Browsing to %LocalAppData%\Microsoft , the Outlook Folder is mounted to the VHD file and previous folder has been renamed Outlook.old.

pu44NG

Step 6: Open Microsoft Outlook , Click Next to begin setup of profile

FSLOGIX-32

Step 7: Select Yes to setup Outlook e-mail account. Click Next

FSLOGIX-33

Step 8: Enter the appropriate details to setup the Office 365 account in outlook. Then click Next

  • Your Name: in my case WilkyIT
  • e-mail address: david@wilkyit.com
  • Password: password for the account.

FSLOGIX-34

Step 9: Establishing Connection, Search for the Outlook setting and logging on to the mail server will begin

FSLOGIX-35

Step 10: After successful setup, ensure “change account settings” is ticked and click Next

FSLOGIX-36

Step 11: Ensure that “Use cached exchange mode” is ticked and click Finish

FSLOGIX-37

Step 12 : Looking at the %LocalAppData%\Microsoft\Outlook the folder is populated with the outlook cache.

pu45NG

This will allow the profileUnity product run without depending on the profileDisk to capture all setting this making it profile agnostic.

There is additional templates which allow Indexing/Caching to added to configuration for users. Here is a my view

  • Cache does not roam between computers but created in each one.
  • If multiple servers in a pool are used the user search index must be created in each one thus it could be hit/miss if an existing cache exists on that server and may require update to bring to latest.

Leave a Reply