SOLVED

App Setup Policy - Assign to a group

%3CLINGO-SUB%20id%3D%22lingo-sub-2109431%22%20slang%3D%22en-US%22%3EApp%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2109431%22%20slang%3D%22en-US%22%3E%3CP%3EHey%20guys%2C%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20confused%20a%20little%20bit%20-%20I%20could%20not%20found%20any%20solutions%20to%20assign%20a%20%22app%20setup%20policy%22%20to%20a%20AAD%20group.%20I%20just%20found%20under%20%22meeting%20policies%22%20-%20the%20tab%20%22group%20policy%20assignment%22%20this%20is%20also%20well%20documented.%20Actually%20I%20working%20with%20a%20workaround%20-%20with%20powershell%20and%20the%20azure%20and%20the%20teams%20module.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIs%20this%20still%20in%20work%3F%20Because%20when%20I%20verify%20a%20user%20-%20I%20can%20also%20see%20that%20the%20policy%20is%20then%20direct%20attached%2C%20but%20there%20is%20also%20the%20information%20%22attached%20from%20group%22.%20But%20this%20is%20not%20working%2C%20or%20is%20there%20any%20documentation%20out%20there%20for%20this%3F%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2109431%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAdministrator%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ETips%20%26amp%3B%20Tricks%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2109648%22%20slang%3D%22en-US%22%3ERe%3A%20App%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2109648%22%20slang%3D%22en-US%22%3EThis%20was%20my%20problem!%20I%20searched%20for%20the%20%22policytype%22%20and%20I%20could%20not%20found%20this%20information%20%3A)%3C%2Fimg%3E%20%22TeamsAppSetupPolicy%22%20-%20thanks%20to%20you!!!%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2109466%22%20slang%3D%22en-US%22%3ERe%3A%20App%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2109466%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F815951%22%20target%3D%22_blank%22%3E%40TheM365Guy%3C%2FA%3E%26nbsp%3BHi%2C%20just%20to%20add%20to%20the%20above%20it's%20also%20mentioned%20in%20the%20docs.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%22Currently%2C%20policy%20assignment%20to%20groups%20using%20the%20Microsoft%20Teams%20admin%20center%20is%20only%20available%20for%20Teams%20calling%20policy%2C%20Teams%20call%20park%20policy%2C%20Teams%20policy%2C%20Teams%20live%20events%20policy%2C%20Teams%20meeting%20policy%2C%20and%20Teams%20messaging%20policy.%20For%20other%20policy%20types%2C%20use%20PowerShell.%22%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fassign-policies%23using-the-microsoft-teams-admin-center-2%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fassign-policies%23using-the-microsoft-teams-admin-center-2%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CDIV%20class%3D%22parameterName%20stack%22%3E-PolicyType%3C%2FDIV%3E%3CDIV%20class%3D%22parameterInfo%22%3E%3CP%3EThe%20type%20of%20the%20policy%20to%20be%20assigned.%20Possible%20values%3A%3C%2FP%3E%3CUL%3E%3CLI%3ECallingLineIdentity%3C%2FLI%3E%3CLI%3E%3CSTRONG%3ETeamsAppSetupPolicy%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3ETeamsCallingPolicy%3C%2FLI%3E%3CLI%3ETeamsCallParkPolicy%3C%2FLI%3E%3CLI%3ETeamsChannelsPolicy%3C%2FLI%3E%3CLI%3ETeamsComplianceRecordingPolicy%3C%2FLI%3E%3CLI%3ETenantDialPlan%3C%2FLI%3E%3CLI%3ETeamsEducationAssignmentsAppPolicy%3C%2FLI%3E%3CLI%3ETeamsMeetingBroadcastPolicy%3C%2FLI%3E%3CLI%3ETeamsMeetingPolicy%3C%2FLI%3E%3CLI%3ETeamsMessagingPolicy%3C%2FLI%3E%3CLI%3ETeamsShiftsPolicy%3C%2FLI%3E%3CLI%3ETeamsUpdateManagementPolicy%3C%2FLI%3E%3C%2FUL%3E%3C%2FDIV%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Fteams%2Fnew-csgrouppolicyassignment%3Fview%3Dteams-ps%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Fteams%2Fnew-csgrouppolicyassignment%3Fview%3Dteams-ps%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2109461%22%20slang%3D%22en-US%22%3ERe%3A%20App%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2109461%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI've%20not%20tested%20to%20assign%20the%20App%20Setup%20policy%20with%20to%20a%20group%20but%20it%20should%20be%20possible%20with%20PowerShell.%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Fteams%2Fnew-csgrouppolicyassignment%3Fview%3Dteams-ps%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ENew-CsGroupPolicyAssignment%20(MicrosoftTeamsPowerShell)%20%7C%20Microsoft%20Docs%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3Eex.%26nbsp%3B%3CEM%3E%3CSPAN%20class%3D%22hljs-pscommand%22%3ENew-CsGroupPolicyAssignment%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-parameter%22%3E%20-GroupId%3C%2FSPAN%3E%20salesdepartment%40contoso.com%3CSPAN%20class%3D%22hljs-parameter%22%3E%20-PolicyType%3C%2FSPAN%3E%20TeamsAppSetupPolicy%26nbsp%3B%3CSPAN%20class%3D%22hljs-parameter%22%3E-PolicyName%3C%2FSPAN%3E%20AppPolicyName%3C%2FEM%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2383125%22%20slang%3D%22en-US%22%3ERe%3A%20App%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2383125%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F815951%22%20target%3D%22_blank%22%3E%40TheM365Guy%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhat%20I%20did%20in%20Powershell%20was%26nbsp%3B%3C%2FP%3E%3CDIV%3ENew-CsGroupPolicyAssignment%20-GroupId%20acb3174d-669c-4cc0-9d97-5844f7b9fcb8%20-PolicyType%20TeamsAppSetupPolicy%20-PolicyName%20DigipleinMedewerkers%3CBR%20%2F%3Ebut%20I%20get%20an%20error%20and%20I%20don't%20know%20what%20to%20do%20with%20that.%20Do%20you%20have%20an%20idea%3F%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%5B21-5%2011%3A58%5D%20%3C%2FSPAN%3E%3CSPAN%3EMartin%20van%20der%20Harst%3C%2FSPAN%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3EText%3C%2FDIV%3E%3CDIV%3E%3CPRE%3E%3CSPAN%3ENew-CsGroupPolicyAssignment%20%3A%20One%20or%20more%20errors.%3C%2FSPAN%3E%3CSPAN%3EAt%20line%3A1%20char%3A1%3C%2FSPAN%3E%3CSPAN%3E%2B%20New-CsGroupPolicyAssignment%20-GroupId%20acb3174d-669c-4cc0-9d97-5844f7b9%20...%3C%2FSPAN%3E%3CSPAN%3E%2B%20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%2B%20CategoryInfo%20%20%20%20%20%20%20%20%20%20%3A%20NotSpecified%3A%20(%3A)%20%5BNew-CsGroupPolicyAssignment_NewExpanded%5D%2C%20CmdletInvocationException%3C%2FSPAN%3E%3CSPAN%3E%20%20%20%20%2B%20FullyQualifiedErrorId%20%3A%20Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Cmdlets.NewCsGroupPolicyAssignment_NewExpand%3C%2FSPAN%3E%3CSPAN%3Eed%3C%2FSPAN%3E%3C%2FPRE%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%E2%80%8B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%5B21-5%2015%3A49%5D%20%3C%2FSPAN%3E%3CSPAN%3EMartin%20van%20der%20Harst%3C%2FSPAN%3E%3CDIV%3E%3CDIV%3E%3CDIV%3EFyi%20Stellingmolen%20en%20Tweemaster%20zijn%20succesvol%20overgezet%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2428289%22%20slang%3D%22en-US%22%3ERe%3A%20App%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2428289%22%20slang%3D%22en-US%22%3EHopefully%20TeamsAppPermissionPolicy%20gets%20added%20to%20that%20list%20soon.%20TeamsAppSetupPolicy%20is%20a%20bit%20useless%20without%20it%20for%20those%20of%20us%20who%20lock%20down%20access%20to%20apps%20for%20one%20reason%20or%20another.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2428420%22%20slang%3D%22en-US%22%3ERe%3A%20App%20Setup%20Policy%20-%20Assign%20to%20a%20group%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2428420%22%20slang%3D%22en-US%22%3EHi%20David%2C%20it%20seems%20as%20if%20you%20can%20use%20New-CsBatchPolicyAssignmentOperation%20instead%20where%20it%20is%20included%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Fteams%2Fnew-csbatchpolicyassignmentoperation%3Fview%3Dteams-ps%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Fteams%2Fnew-csbatchpolicyassignmentoperation%3Fview%3Dteams-ps%3C%2FA%3E%3C%2FLINGO-BODY%3E
Contributor

Hey guys, 

I am confused a little bit - I could not found any solutions to assign a "app setup policy" to a AAD group. I just found under "meeting policies" - the tab "group policy assignment" this is also well documented. Actually I working with a workaround - with powershell and the azure and the teams module. 

 

Is this still in work? Because when I verify a user - I can also see that the policy is then direct attached, but there is also the information "attached from group". But this is not working, or is there any documentation out there for this? 

7 Replies
best response confirmed by TheM365Guy (Contributor)
Solution

Hi,

 

I've not tested to assign the App Setup policy with to a group but it should be possible with PowerShell.

New-CsGroupPolicyAssignment (MicrosoftTeamsPowerShell) | Microsoft Docs

 

ex. New-CsGroupPolicyAssignment -GroupId salesdepartment@contoso.com -PolicyType TeamsAppSetupPolicy -PolicyName AppPolicyName

@TheM365Guy Hi, just to add to the above it's also mentioned in the docs.

 

"Currently, policy assignment to groups using the Microsoft Teams admin center is only available for Teams calling policy, Teams call park policy, Teams policy, Teams live events policy, Teams meeting policy, and Teams messaging policy. For other policy types, use PowerShell."

https://docs.microsoft.com/en-us/microsoftteams/assign-policies#using-the-microsoft-teams-admin-cent... 

 

-PolicyType

The type of the policy to be assigned. Possible values:

  • CallingLineIdentity
  • TeamsAppSetupPolicy
  • TeamsCallingPolicy
  • TeamsCallParkPolicy
  • TeamsChannelsPolicy
  • TeamsComplianceRecordingPolicy
  • TenantDialPlan
  • TeamsEducationAssignmentsAppPolicy
  • TeamsMeetingBroadcastPolicy
  • TeamsMeetingPolicy
  • TeamsMessagingPolicy
  • TeamsShiftsPolicy
  • TeamsUpdateManagementPolicy

 

https://docs.microsoft.com/en-us/powershell/module/teams/new-csgrouppolicyassignment?view=teams-ps 

 

 

This was my problem! I searched for the "policytype" and I could not found this information :) "TeamsAppSetupPolicy" - thanks to you!!!

@TheM365Guy 

What I did in Powershell was 

New-CsGroupPolicyAssignment -GroupId acb3174d-669c-4cc0-9d97-5844f7b9fcb8 -PolicyType TeamsAppSetupPolicy -PolicyName DigipleinMedewerkers
but I get an error and I don't know what to do with that. Do you have an idea?
[21-5 11:58] Martin van der Harst
Text
New-CsGroupPolicyAssignment : One or more errors.At line:1 char:1+ New-CsGroupPolicyAssignment -GroupId acb3174d-669c-4cc0-9d97-5844f7b9 ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : NotSpecified: (:) [New-CsGroupPolicyAssignment_NewExpanded], CmdletInvocationException    + FullyQualifiedErrorId : Microsoft.Teams.ConfigAPI.Cmdlets.Generated.Cmdlets.NewCsGroupPolicyAssignment_NewExpanded
 
Hopefully TeamsAppPermissionPolicy gets added to that list soon. TeamsAppSetupPolicy is a bit useless without it for those of us who lock down access to apps for one reason or another.
Hi David, it seems as if you can use New-CsBatchPolicyAssignmentOperation instead where it is included https://docs.microsoft.com/en-us/powershell/module/teams/new-csbatchpolicyassignmentoperation?view=t...
The only problem with this is it still seems like it still creates a scenario where we have to micro-manage this if the "allowed" user base expands for whatever reason....

I'm running into this right now....we use a "resource access group" model for managing users access to a variety of software and services (including scopiing access for pilot testing things like using newly requested "Teams apps") ....it seems the only way to limit this right now is per user.

So even with the cmdlet mentioned above it seems the only solution would be to write a script where I could take a Group I have, grab the members from it, then recursively run the cmdlet for each member.

*BUT* - what if the project team testing this app/tool then onboards a new user and they now need the same permissions as their peers....or the "pilot group" expands to a different (larger) phase?

At that point....the group membership changes aren't picked up by the App Permission Policy - so once again someone has to rerun the script against the group to add the new members (and *know* they had to do this where they've not had to do this for any other dozens/hundreds of software/services they've been managing access for)

Just seems very strange this is not an option - I mean I know *many* organizations are out there that are pretty "open" in this regard with Teams App Permissions....but there *are* organizations out there that tend to have very strict software use policies and need to vet things in smaller control groups before releasing it to the masses......

And this is not only for security reasons but simple "supportability" - with "smaller to medium" size orgs (or large orgs with small IT Support Depts)....it may become a bit challenging if the support desk is bombarded with a ton of requests for support/guidance on using apps they had no idea were being used in the environment or had ever seen before....get enough of those going at once and you've could potentially have created a support bottleneck that is a bit challenging to swiftly "unplug".....