Microsoft Planner: Another look as MsolSettings–and a couple more answers
Published Mar 06 2019 03:04 PM 1,555 Views
Brass Contributor
First published on MSDN on Jun 07, 2016
***Update 4/7/2017 - for the new AzureAD v2 Preview commands to achieve this - see https://blogs.msdn.microsoft.com/brismith/2017/04/07/planner-group-control-new-powershell-commands/ ***

*** Update 10/7/2016 - I found out today that Set-MsolCompanySettings also controls group creation and will block for all but Admins - if UsersPermissionsToCreateGroupsEnabled is set to false - (Set-MsolCompanySettings -UsersPermissionToCreateGroupsEnabled $false).  The value can be queried using Get-MsolCompanyInformation.  I also confirmed that Admins cannot create groups unless they are in the 'Allowed' group if the setting mentioned in this post is configured - EnableGroupCreation = false.  This appears to have changed since I wrote this blog post ***

I had a few questions following yesterday’s blog and also have some more resources to share on the Azure AD PowerShell commands.  Firstly I should make it clear that the required version of the PowerShell commands is 1.1.117.0 – and is at the current date (6/7/2016) in public preview. Rob’s Groups Blog was posted yesterday and has more examples and talks about the other settings that you can configure.  Some of these others are not directly applicable to Planner in the way that the control of group creation is – but if you are using Planner then you are using Groups – so worth knowing what’s coming down the line.

From yesterday’s blog one improvement to my PowerShell would be to use the Get-MsolAllSettingTemplate and select the template by name rather than GUID as per Rob’s example:
$template = Get-MsolAllSettingTemplate | where-object {$_.displayname -eq "Group.Unified"}

This makes it very clear the template we are getting.  This is used to pull the template of settings and you then apply these to a new settings object using
$setting = $template.CreateSettingsObject()

From this you can take a look a the default name/value pairs
$setting.Values



We see that EnableGroupCreation and AllowToAddGuests are both true in the template – all other values are blank.

The settings I didn’t cover yesterday were UsageGuidelinesUrl, ClassificationList and AllowToAddGuest.  These are not all implemented yet in Office 365, but are roadmap items that are coming soon.  You can configure the settings – but nothing to see just yet.

UsageGuidelinesUrl will be a handy thing to set – and first you would create a page in your SharePoint site that detailed your company usage guidelines for Groups (and other aspects of Office 365 too would make sense) then the ‘Group usage guidelines’ link would display whenever someone created a group so they could check the guidelines.  This will not initially be in the New Plan dialog.



ClassificationLists is another ‘coming soon’ option – and would display as an extra drop down between Privacy and Language option when editing or creating a group. Again – this would be edit at the Group rather than the Plan.  AllowToAddGuests is exactly what it says on the tin.

We can configure our settings by setting the values – the Url for our guidelines, and a comma separated list for our different classifications:
$setting["UsageGuidelinesUrl"] = " https://guideline.contoso.com "

$setting[“ClassificationList”] = “Red, Green, Blue”

And then we save our settings.
New-MsolSettings –SettingsObject $setting

We can see our existing setting objects using Get-MsolAllSettings, or pull a specific one using Get-MsolSettings –SettingId <GUID>.

We can remove our setting object using Remove-MsolSettings –SettingId <GUID>.  This might be more convenient rather than getting an existing setting object and updating the various settings – as there aren’t very many values to set.

Hopefully that gives you a good grounding in the MsolSettings and how they apply (or not) to Planner – on to some more Planner Answers!

Some users have noticed that even without a license applied that users can either navigate to the service Url – or respond to an assignment on someone else’s tasks from a plan and can still use Planner.  This was the initial intentional design – as it lowered the barriers of collaboration – particularly for First Release where not all users may have seen the tile.  We are reviewing this currently so you may see some changes here, but hopefully the MsolSettings does give better control on Group creation. Licensed users should see the tile on the App Launcher – that is the main difference.

Finally – and I hope to have some samples soon – but I have heard from other teams that license manipulation when you are handling very large numbers of users can be painfully slow when using PowerShell.  Using the Graph API apparently is much faster – handling many thousands of changes per minute.  If anyone has samples or experiences to share I’d love to hear them!
Version history
Last update:
‎Mar 06 2019 03:04 PM
Updated by: