Quantcast
Channel: HTG
Viewing all articles
Browse latest Browse all 178

AppSense DesktopNow Environment Manager Session Data Library

$
0
0
I've been stuck in Session Data hell recently. Part of overhauling a badly-configured AppSense Environment Manager infrastructure is painstakingly poring over the Personalization database, the data captured into it by applications, and the Session Data and Desktop Settings. This particular instance of it had a huge amount of Session Data configured. Most of them became redundant after an upgrade, but still, an awful lot of stuff had been dumped into the Session Data section without the requisite amount of forethought.

This article has a quick run-through of how Session Data works, followed by a "library" of commonly-used keys - which I'd appreciate everyone's help in adding to!

Session Data vs Desktop Settings

It's important to try and understand Session Data and its sister section, Desktop Settings, and why they exist, if you are going to use them correctly. In previous incarnations of Environment Manager, you originally had a section titled "Desktop Settings" rather than Session Data. There are many settings within the Windows shell - think things to do with the Taskbar and Explorer, mainly - that require a "desktop refresh" in order for the settings to activate. So the Desktop Settings section was introduced, where you would configure Registry keys that you needed to import at logon and then trigger the refresh to ensure the settings were available for all users without any issues.

This then became problematic in that administrators would add all sorts of non-relevant paths to the Desktop Settings section. The reason they did this was because they needed to share personalized data between applications and application groups, and the Desktop Settings section was the only part of the interface that allowed them to achieve this. Think data like printer settings, mail profile settings - all of which  dragged out the logon time and making the performance of the session worse.

So in 8.1 and up AppSense introduced the Session Data area to complement a new, improved Desktop Settings area. The Desktop Settings area became rather more static - offering a set of built-in Desktop Settings for you to customize as required. The Session Data section, on the other hand, became effectively what "Desktop Settings" had been previously - a fully-customizable list of Registry keys. Session Data is imported into the user session after Desktop Settings and before Policy Configuration - now minus the overhead of the extended logon .

Desktop Settings (which have expanded further in version 8.3 and 8.4)


Session Data (configured badly!)


Desktop Settings/Session Data vs Policy Configuration

Now there are some schools of thought that recommend the use of old-style Policy Configuration Registry Hiving Actions as an alternative to using Desktop Settings and Session Data. Why would you do that?

Well, there is the fact that the Conditions available to Policy Configuration are so much more granular than anything you can configure in Personalization Server. Session Data is, effectively, a large mass of settings that are dumped on the endpoint - and when you are analyzing the Personalization Data, they sit in one section, lumped under Session Data. If you were to manage both email profile settings and printer settings in Session Data and the printer settings went awry, the archive rollback would reset both sets of data. With Registry Hiving Actions in Policy Configuration, you could reset each of them separately.

Of course, there is the built-in archive facility in Personalization Server that is a big draw for a lot of people, in addition to the self-service and/or web-based access to this. You could configure similar redundancy for your Registry Hiving files, but this would have to be something external and possibly harder to access - maybe leveraging something like a scheduled robocopy job.

Another point to note is that Registry Hiving also requires a file share and associated storage - whereas with Personalization Server, you've already committed all the space by creating the database (assuming you've sized it properly!)

Others will be quick to point out that you can now (in version 8.3 and upwards, if I remember correctly) configure Desktop Settings and Session Data on a per-Personalization Group basis. This is true, and it is very good, but it still only allows you to be as granular as the Conditions available for Personalization Group Membership Rules allow. As it stands, Policy Configuration has a vastly better array of Conditions available to it - think things like OS Version, Session and Client, Registry, File and Folder, etc. - compared to the few that the Personalization Groups boast. I think if the Conditions library available in Personalization was updated to match that in Policy Configuration, you could separate Desktop Settings and Session Data much more effectively and a big part of the reasons for choosing Configuration over Personalization would be rendered a moot point.

A final point to consider is the possible overhead in finding out which Registry keys and/or files you will need to hive in order to save all of the settings you get natively through the Desktop Settings functionality. You can probably guess a few off the top of your head - HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer springs to my mind almost immediately - but there also may be things in the filesystem requiring attention, such as CSIDL_APPDATA\Microsoft\Internet Explorer\Quick Launch\User Pinned. If you are going down this route, you will need to do some very thorough testing to ensure you are capturing all of the settings that are available for customization through the native PS interface.

However - as it stands, it is up to you to decide which method works best for you. There is no right or wrong way to do it - it simply depends on the requirements that you have.

Common Session Data keys

With that in mind, should you choose to utilize Session Data - and to be fair, a lot of places do - you may be wondering what sort of keys you may need to add to get common issues resolved? AppSense kindly add the most common one - the Microsoft Outlook messaging subkey - for you, but apart from that, you will have to configure the required exceptions yourself, based on good testing procedures. However, I've culled together a list here of the most commonly-used ones, to help you put your Session Data settings together that little bit faster. Please bear in mind this is naturally a "live" list - additions are most welcome, because there's only so much time I have on my hands! :-)

Microsoft Outlook (required for Mail icon in Control Panel to work correctly with Outlook profile, in additon to many other Outlook-integrated applications)

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem (should be added automatically, unless in upgrade situation)
HKEY_CURRENT_USER\Software\Microsoft\Exchange

Mouse button settings

HKEY_CURRENT_USER\Control Panel\Mouse

Date and time format

HKEY_CURRENT_USER\Control Panel\International

Location

HKEY_CURRENT_USER\Control Panel\International\Geo

Manual drive mappings

HKEY_CURRENT_USER\Network (if Unmap At Logoff is configured for any drive mapping, however, this will not function)

Control Panel view settings

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel

IE form passwords and LiveMeeting 2007 Outlook toolbar

HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System Provider (may also require a Hiving Action for %APPDATA%\Microsoft\Protect)

Clear History Internet Explorer function

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs

Additional clocks

HKEY_CURRENT_USER\Control Panel\TimeDate\AdditionalClocks

AutoPlay settings

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\UserChosenExecuteHandlers

Additional default desktop icons (in a non-redirected environment)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel

Additional Taskbar toolbars

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop

Lync 2010

HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Ext\Stats
HKEY_Current_User\Software\Microsoft\Communicator
HKEY_Current_User\Software\Microsoft\Office\11.0\Outlook\IM

Windows Live Messenger 2011 auto sign-in

HKEY_CURRENT_USER\Software\Microsoft\IdentityCRL

Printer settings

HKEY_CURRENT_USER\Printers
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

Mozilla Firefox

HKEY_CURRENT_USER\SOFTWARE\Classes\.htm
HKEY_CURRENT_USER\SOFTWARE\Classes\.html
HKEY_CURRENT_USER\SOFTWARE\Classes\.shtml
HKEY_CURRENT_USER\SOFTWARE\Classes\.xht
HKEY_CURRENT_USER\SOFTWARE\Classes\.xhtm
HKEY_CURRENT_USER\SOFTWARE\Classes\.xhtml
HKEY_CURRENT_USER\SOFTWARE\Classes\.webm
HKEY_CURRENT_USER\SOFTWARE\Classes\FirefoxHTML
HKEY_CURRENT_USER\SOFTWARE\Classes\FirefoxURL
HKEY_CURRENT_USER\SOFTWARE\Classes\ftp
HKEY_CURRENT_USER\SOFTWARE\Classes\gopher
HKEY_CURRENT_USER\SOFTWARE\Classes\http
HKEY_CURRENT_USER\SOFTWARE\Classes\https
HKEY_CURRENT_USER\SOFTWARE\Classes\StartMenuInternet
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations

Taskbar notifications

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify

Windows Explorer Preview Pane

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Modules\GlobalSettings

Microsoft Office user information (if not captured by Microsoft Office Application Group)

HKEY_CURRENT_USER\Software\Microsoft\Office\Common\UserInfo


Please, please, please, send me any more suggestions you have to be added to this list (or removed, as future versions become more stable). Anything that can cut down on the amount of time required to configure applications or user sessions is good news to AppSense admins everywhere!

Viewing all articles
Browse latest Browse all 178

Trending Articles