How to setup a Windows 10 single app kiosk using Intune.

Want a fast and easy way to setup a Windows 10 kiosk ? Intune to the rescue!

Kiosk configurations in Intune is assigned to device. In this example we will use a AzureAD account for the kiosk user.

First create a user in AzureAD that you want to use for your kiosk.

AzureAD -> Users -> New User

Now lets create a device group where we want to put all our kiosk devices.

AzureAD -> Groups -> New Group

If you already have a device you can add it to the group now, or you can do it later.

Now we need to find the AUMID of the appx we want to run in kiosk mode. In this example i will use edge.

Log on to a windows 10 machine and open powershell. And paste the following code

$installedapps = get-AppxPackage
$aumidList = @()
foreach ($app in $installedapps)
{
foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
    }
$aumidList += $app.packagefamilyname + "!" + $id
    }
}
$aumidList

You will now get a list of AUMID’s in this example we are looking for edge

As you can see the AUMID for edge is Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge

Now we need to create a profile so we can assign this app to run in kiosk mode.

Intune -> Device Configuration -> Profiles -> Create Profile

Name the profile and select “Windows 10 and later” as platform, then set the profile type to “Device restrictions” next click the “Configure” button.

 

Select “Kiosk (Preview)” then set “Kiosk Mode” to “Single app kiosk” enter your user account and the Application user model ID of the app as we did earlier in this post.

TIP1: If using auto logon you should probably use a local account for the kiosk. But in this example we use an AzureAD account. Any AzureAD account assigned must be written like this “AzureDAusername@domainname.com

TIP2: If you want to run a legacy Win32 application you need to use “Multi app kiosk” as the “Kiosk Mode

Now create this setting and lets assign it to the device group made earlier.

Select the “Kiosk – Edge” profile.

Go to Assignments -> Select groups to include -> Your device group -> Select

Then click “Save

Now wait a little bit and see if it shows up in the Device Configuration -> Profiles -> “Kiosk – Edge” -> Device Status

TIP: If the client doesn’t show up or says pending try to sync it.

This is how it will look at the user side.

 

 

How to assign members from one group to another in Azure Active Directory.

I found it surprising when I started with Azure Active Directory that there was no support for nested groups. No worries, PowerShell to the rescue!

First off you need to install the Azure Active Directory PowerShell module from the Powershell Gallery.

Open PowerShell as Administrator and execute the following command:

Install-Module -Name AzureAD

Accept the NuGet Provider.

Accept the Untrusted repository.

When the AzureAD package is installed we need to connect to our Azure Active Directory tenant.

Execute:

Connect-AzureAD

This will present a popup for you to connect to your Azure Active Directory. Sign in with your admin credentials.

After you have signed in, a confirmation will appear in your powershell window.

When working with groups and users in Azure Active Directory you need to retrieve the ObjectId assigned to it. The ObjectId is unique to every group and user. So first off we need to find the ObjectId for the group we want to retrieve users from.

Execute:

Get-AzureADGroup -Filter "DisplayName eq 'Your Group Name Here'"

This will return the ObjectId like this

Now we need do the same for the group that we want to assign the users to. Execute the same command from above to find the ObjectId.

ProTip: You can also find the ObjectID in Azure Active Directory -> Groups -> Your Group Name on portal.azure.com

Now that you have both ObjectId we need to make variables and one foreach loop to retrieve and assign each  user, if not only the first user will be retrieved. You can also make this in to a script.

$FromGroup = “Your ObjectId” <- Variable with the ObjectId for the group you want to retrive users from.

$ToGroup = “Your ObjectId” <- Variable with the ObjectId for the group you want to add users to.

$Members = Get-AzureADGroupMember -All 1 -ObjectId $FromGroup <- Variable to retrieve the ObjectId for every user inside the group you want to reterive users from.

Foreach ($Member in $Members) {
    Add-AzureADGroupMember -ObjectId $ToGroup -RefObjectId $Member.ObjectId
}

Forech loop to retrieve every ObjectId  from the $Members variable to the group you want to assign users to.

When executing this it will take some time to finish depending on how many members the group has.

You can download the script from my GitHub repository.