Set-SPAppPrincipalPermission
Published: July 16, 2012
Applies to: SharePoint Foundation 2013 | SharePoint Server 2013 Enterprise
Sets the permissions on a given app principal.
Set-SPAppPrincipalPermission -AppPrincipal <SPAppPrincipal> -Right <Read | Write | Manage | FullControl> -Scope <Site | SiteCollection | SiteSubscription> -Site <SPWebPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EnableAppOnlyPolicy <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Parameters
| Parameter | Required | Type | Description | ||
|---|---|---|---|---|---|
| AppPrincipal | Required | Microsoft.SharePoint.SPAppPrincipal | Specifies the AppPrincipal object. | ||
| Right | Required | Microsoft.SharePoint.PowerShell.SPCmdletAppPrincipalPermissionKind | Specifies the permission level for the principal object. The value is any of the following levels: ----Read --Write --Manage --Full Control | ||
| Scope | Required | Microsoft.SharePoint.PowerShell.SPCmdletAppPrincipalPermissionScope | Specifies the scope to which to apply the principal permission. The value is any of the following scopes: --Farm --Site collection --SharePoint Online --Web --Documents, List, or Library | ||
| Site | Required | Microsoft.SharePoint.PowerShell.SPWebPipeBind | |||
| AssignmentCollection | Optional | Microsoft.SharePoint.PowerShell.SPAssignmentCollection | Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.
| ||
| Confirm | Optional | System.Management.Automation.SwitchParameter | Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters | ||
| WhatIf | Optional | System.Management.Automation.SwitchParameter | Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters |
Detailed Description
Use the Set-SPAppPrincipalPermission cmdlet to set the permissions on a given app principal for a given scope (tenant, site collection, and web) and given levels (Read, Write, Manage, Full Control).
Input Types
Return Types
---------------EXAMPLE-------------
$appPrincipal= Get-SPApplicationPrincipal -nameIdentifier $spTrustedIssuer.nameIdentifier -web $site.rootWeb
Set-AppPrincipalPermission -appPrincipal $appPrincipal -site $site.rootweb -scope "spweb" -level "WRITE"
This example sets the Write permission level of to the SPWeb scope.
Change History
| Date | Description |
|---|---|
| July 16, 2012 | Initial publication |

Note: