Uninstall the SharePoint App

Office 365: Powershell Script to Uninstall the SharePoint App

Posted on Updated on

Sometime O365 SharePoint Online will not allow uninstall app hosted. It will give you error as “Some things went wrong” or “Unable to Uninstall” and gives you message something like e-Discovery or retention polity contact Administrator.

Such case if you try to deploy app using Visual Studio then you will get error:

here 2 errors will display

Script to Uninstall:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
Function Get-ClientContext([string]$Url,[string]$UserName,[string]$Password)
{
    $SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force
    $context = New-Object Microsoft.SharePoint.Client.ClientContext($Url)
    $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
    return $context
}

Function Uninstall-AppInstance([Microsoft.SharePoint.Client.ClientContext]$Context,[Guid]$AppInstanceId)
{
    $appInst = $Context.Web.GetAppInstanceById($AppInstanceId)
    $appInst.Uninstall()
    $context.ExecuteQuery()
 }

$UserName = "rijwan@sharepoint.com"
$Password = Read-Host -Prompt "Enter the password"    
$Url = "https://rijwan.sharepoint.com/"
$AppInstanceid = New-Object Guid("XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")  #specify App Instance Id here

$context = Get-ClientContext -Url $Url -UserName $UserName -Password $Password
Uninstall-AppInstance -Context $context -AppInstanceId $AppInstanceid
$context.Dispose()

How to get App Instance Id:

Click on App setting (…)AppID.png

Click Details of App

Check the URL: (Ex: https://rijwan.sharepoint.com/sites/appdev/_layouts/15/AppMonitoringDetails.aspx?AppInstanceId=ccf0108c-f95c-489f-91fe-b1345a7f27de)

App Instance ID: ccf0108c-f95c-489f-91fe-b1345a7f27de

This way we can get App Instance ID and using above PS script let us delete app.

 

 

Advertisements