Add URL to customized Windows 10 Start Menu

September 1, 2016

Hi,

Since more and more of our customers are adopting Windows 10 in their environment we start to learn more tricks every day.

An important component of Windows 10 is the start menu. Administrators could apply a default startmenu layout for all users by using a GPO but downside of this approach is that the user isn’t able to add any custom applications himself. That’s why I prefer to set the startlayout during the Windows 10 deployment task sequence using a Powershell script.

Afterwards the default layout is set when the user first logs in, from then on the user can edit his start menu as he likes. Adding “classical” applications such as Word, Excel and Powerpoint is quite easy as those applications are already present when the user first logs in. Adding a shortcut to a website might be a little bit harder, in this post I’ll be explaining the steps that need to be taken to accomplish this. It’s a combination of Powershell, SCCM  (also applicable for MDT) and Group Policy Preferences. Let’s get started

First of all start by customizing the start menu as you like on a test machine. The start menu I want is the one shown below. We’ll be focusing on the highlighted icon in the start menu as this is a URL, other shortcuts are applications.

Screenshot_1

When the start layout is finished, launch powershell and execute the following command to export the startlayout:

Export-Startlayout -Path “C:\windows\temp\Startlayout.xml”

The XML generated looks as follows (text in bold is related to the Citrix URL):

<LayoutModificationTemplate Version=”1″ xmlns=”http://schemas.microsoft.com/Start/2014/LayoutModification”&gt;
<LayoutOptions StartTileGroupCellWidth=”6″ />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth=”6″ xmlns:defaultlayout=”http://schemas.microsoft.com/Start/2014/FullDefaultLayout”&gt;
<start:Group Name=”Webbrowsers” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”&gt;
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”0″ DesktopApplicationID=”Microsoft.InternetExplorer.Default” />
</start:Group>
<start:Group Name=”Office ” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”&gt;
<start:DesktopApplicationTile Size=”2×2″ Column=”2″ Row=”0″ DesktopApplicationID=”{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Microsoft Office\Office15\WINWORD.EXE” />
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”0″ DesktopApplicationID=”Microsoft.Office.OUTLOOK.EXE.15″ />
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”2″ DesktopApplicationID=”{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Microsoft Office\Office15\POWERPNT.EXE” />
<start:DesktopApplicationTile Size=”2×2″ Column=”2″ Row=”2″ DesktopApplicationID=”{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Microsoft Office\Office15\EXCEL.EXE” />
</start:Group>
<start:Group Name=”” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”&gt;
<start:DesktopApplicationTile Size=”2×2″ Column=”2″ Row=”0″ DesktopApplicationID=”Microsoft.SoftwareCenter.DesktopToasts” />
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”0″ DesktopApplicationID=”Microsoft.Windows.ControlPanel” />
</start:Group>
<start:Group Name=”” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”&gt;
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”0″ DesktopApplicationID=”https://citrix.contoso.com&#8221; />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>

Now create an SCCM Package containing the XML file and a Powershell script with the following content:

Import-StartLayout -LayoutPath $PSScriptroot\StartLayout.xml -MountPath $env:systemdrive\

Now this can be executed using a Run Powershell Script during the SCCM OSD task sequence.

Without performing further actions when a user first logs in the start menu will be generated but the URL to citrix.contoso.com will not be present. To make sure it’s there we need to create a Group Policy Preference to put the exact URL in the start menu for the user. Pay close attention because the target URL specified in the GPP must EXACTLY match the value of DesktopApplicationID (without the “”)

Screenshot_2

Now when the user (for which the GPP is applied) logs on for the first time on a Windows 10 computer, the default Start layout will be applied properly and the URL will also appear.

Hope this helps!

 

Best regards,

Bert

 

 

Advertisements

Managing Windows 8 Apps in an Enterprise

May 10, 2014

With Windows 8, a new type of applications was introduced, Windows 8 APPS.
These APPS behave different than the Windows applications we all know.
Users can install any App from the Windows Store.
In an enterprise, we don’t want certain APPS to be installed.

This article discusses how we can manage these APPS.

 

Today I’m going to discuss how to:

  1. Manage Start Screen Layout
  2. Restrict Windows 8 Apps with AppLocker
  3. Deploy Windows 8 Apps with SCCM

Requirements:

  • Windows 8 Enterpise version
  • Microsoft Live Account

 

1. Manage Windows 8 Start Screen Layout

You can preconfigure a Start Screen for your users in Windows 8.

First you need to manually configure the Start Screen Layout:

Then you need to export the Start Menu with Powershell

You can manage Windows 8 Start Screen in 3 ways:

  • Group Policy:
  • Sysprep CopyProfile setting
    • The user can modify the Start Menu Layout, but it’s not possible to update 
  • Copy exported Start Menu Layout in SCCM Task Sequence:
    • The user can modify the Start Menu Layout, but it’s not possible to update

 

2. Restrict Windows 8 Apps with AppLocker

New with Windows 8 Group Policies is the ability to block or allow certain Apps with AppLocker.
This is configured by Group Policy.

In this example, we will create a white list of applications that are allowed.

On a Windows 8.1 computer with RSAT installed, open the Group Policy Console.
Create a new Group Policy and configure the following policy
Computer Configuration\Policies\Windows Settings\Security Settings\Application Control Policies\AppLocker\Pacakged App Rules –> Automatically Generate Rules…

Click Next

Click Select

Click Next

Click Review the Apps…

Select the default Apps you want to allow

Click Create

The Allow list has been created:

 

3. Deploy Windows 8 APPS with SCCM

There are 2 different ways to deploy Windows 8 Apps with SCCM:

  • Deploy inhouse developped APP
  • Deploy a Store APP 

Deploy inhouse developped APP
If you want to deploy an inhouse developped APP, you just need to import the APPX file into SCCM

Deploy a Store APP
If you want to deploy a Store APP (also called Deeplink), you need to import the APP from a computer that has this APP installed, and deploy it.

In this article, we’re going to DeepLink a Store APP.

First you need to manually install the APP on a Windows 8.1 reference client by using the Windows Store.
In this example, we will install the Lync APP.

Remark: You have to exclude the AppLocker policy on this computer

Import this new APP in the AppLocker Group Policy.
We need to add this APP to the Allow List.
In the AppLocker Group Policy, click “Create New Rule…”

Select the installed Lync APP

If you slide up the bar as in the screenshot , all versions of this APP are allowed
Click Next Next Create…

Lync has been added to the allow ist

Once the APP has been installed, import this APP in SCCM.

In the SCCM Console, go to Software Library –> Application Management –> Applications –> Create Application

Select “Windows app package (in the Windows Store) –> Click Browse

Enter the computer name where Lync is installed, click Connect.
Select the Microsoft Lync APP, click OK
Click Next

Click Next

You can change the name to a more readable name for the end user, click Next

Click Next

Click Close

Now the APP can be deployed to a usergroup.
If the deployment is set to available, the user can install it from the SCCM Application Catalog:

Click Yes

The Windows Store will automatically open to the correct APP, the user just needs to click Install

 

Cheers,

Matthias