How to prevent a publishing refresh storm when configuring App-V client settings via GP and the MDOP Admin Templates


~ Ryan Cobb

ToolsHi everyone, Ryan Cobb here with a tip for scheduling client setting updates when using the MDOP GP Admin Templates.

One of the options that the App-V 5 client has is the ability to configure some of the client settings through a Group Policy template, available here as part of the Microsoft Desktop Optimization Pack Group Policy Administrative Templates: http://go.microsoft.com/fwlink/p/?LinkId=393941.

One of the settings that can be configured is the Publishing Server policy. In the screenshot below I am setting User Publishing Refresh to occur every hours

clip_image001

And on the client, once the policy has been applied it will show the newly created scheduled task as displayed in the screenshot below:

clip_image002

It says “At 1:00pm on 6/22/2008 – After triggered, repeat every 04:00 indefinitely”. OK, sounds good, but if you look closely at ‘Next run time’ you will see it says 1:00:00PM. OK, that sounds good too, unless of course you apply this policy to maybe 10,000 client systems. Have a look at the scheduled task on a few of those. Uh oh, they’re all the same! That would be some sort of Publishing Refresh storm if they all tried syncing at the same time!

To help alleviate this, a scheduled task can have a randomization value added as shown below:

clip_image003

However, the AppV Group Policy template doesn’t give the administrator a method to check that box. Admins do have that option when configuring reporting servers in order to protect against a similar issue with reporting data, but for whatever reason that configuration never made it over to the sync side of things.

To get around this limitation, a custom Scheduled Task can be deployed using Group Policy Preference (see here for more info). The steps are below, and they essentially copy the internals of the template defined task with the modification to add the check for randomization. Note that these instructions create a Scheduled Task for user syncing. If you wanted to create a Scheduled Task for Global or Machine syncing you could target the Computer and allow it to use the System account

Creating Group Policy Preference for custom user syncing of Publishing servers

1. Open GPMC

2. Create a new GPO

3. Edit the GPO and navigate to User Configuration and then expand Control Panel Settings.

NOTE You can also target this as Computer Configuration, you will just need to replace the ‘When running this task, use the following user account:” with something like ‘domain\domain users’ or another group that contains the users that need to sync as Tasks targeted at the computer use the System account.

4. Right-click Scheduled Tasks and choose New ->Scheduled Task (Windows Vista and Later) – maybe Windows 7 and later depending on your DC.

In the New Task window select Create as the Action, add a name and optionally a description, then check the box for Hidden

clip_image004

Select the Triggers tab and ensure the highlighted properties of this tab match the screenshot below, then click OK.

clip_image005

Now select the Actions tab, click New, complete the highlighted items and click OK.

clip_image007

Program/script: SyncAppvPublishingServer.exe
Add arguments(optional): 1 –NetworkCostAware –HidePublishingRefreshUI
Start in(optional): C:\Program Files\Microsoft Application Virtualization\Client\

Now select the Conditions tab and select the highlighted boxes below.

clip_image008

Now select the Settings tab and check these highlighted boxes and click OK.

clip_image009

Once deployed, you should now have the ability to introduce a random delay and avoid a potential Publishing Refresh storm when clients sync their settings.

Ryan Cobb | Premier Field Engineer | Microsoft

Get the latest System Center news on Facebook and Twitter:

clip_image001 clip_image002

System Center All Up: http://blogs.technet.com/b/systemcenter/
System Center – Configuration Manager Support Team blog: http://blogs.technet.com/configurationmgr/
System Center – Data Protection Manager Team blog: http://blogs.technet.com/dpm/
System Center – Orchestrator Support Team blog: http://blogs.technet.com/b/orchestrator/
System Center – Operations Manager Team blog: http://blogs.technet.com/momteam/
System Center – Service Manager Team blog: http://blogs.technet.com/b/servicemanager
System Center – Virtual Machine Manager Team blog: http://blogs.technet.com/scvmm

Windows Intune: http://blogs.technet.com/b/windowsintune/
WSUS Support Team blog: http://blogs.technet.com/sus/
The AD RMS blog: http://blogs.technet.com/b/rmssupp/

App-V Team blog: http://blogs.technet.com/appv/
MED-V Team blog: http://blogs.technet.com/medv/
Server App-V Team blog: http://blogs.technet.com/b/serverappv

The Forefront Endpoint Protection blog : http://blogs.technet.com/b/clientsecurity/
The Forefront Identity Manager blog : http://blogs.msdn.com/b/ms-identity-support/
The Forefront TMG blog: http://blogs.technet.com/b/isablog/
The Forefront UAG blog: http://blogs.technet.com/b/edgeaccessblog/


Comments (1)

  1. RalJans says:

    Or you could export the task, edit the file, add "PT1H" above "", save the file.

    Then remove the old task manually or using:
    schtasks /delete /TN "MicrosoftAppVPublishing1_global_periodic" /F

    And import the modified XML file manually or using:
    schtasks /create /xml 1_global_periodic.xml /TN "MicrosoftAppVPublishing1_global_periodic"

    Then it's the same with the delay enabled.

Skip to main content