The following powershell script will remove app from App catalog and accept following input parameters
1. WebUrl - App Catalog site url
2.AppCatalogName - 'Apps for Sharepoint'
3.AppName - Your .app name
Note: The .app should be in the same directory where you are running the script.
Steps involved
1. Save following script as psRemoveAppFromAppCatalog.ps1
Param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[string]$WebUrl,
[Parameter(Mandatory=$true)]
[string]$AppCatalogName,
[Parameter(Mandatory=$true)]
[string]$AppName
)
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell";
}
function Get-ScriptDirectory
{
$Invocation = (Get-Variable MyInvocation -Scope 1).Value
Split-Path $Invocation.MyCommand.Path
}
#Get Current Physical Path
$currentPhysicalPath = Get-ScriptDirectory
$logfile=$currentPhysicalPath + "\log.log"
Start-Transcript $logfile
try
{
$site = new-object Microsoft.SharePoint.SPSite($WebUrl)
$web = $site.openweb()
$list=$web.Lists[$AppCatalogName]
$listItems = $list.Items
$listItemsTotal = $listItems.Count
Write-Host $listItemsTotal
if($list -ne $null)
{
for ($x=$listItemsTotal-1;$x -ge 0; $x--)
{
if($listItems[$x].name -eq $AppName) # file refers to the name of the document
{
$listItems[$x].Delete()
write-host -f Green "Successssfully unistalled the app -" $AppName " from app catalog" -ForegroundColor Green
}
}
}
}
catch
{
$Host.UI.RawUI.WindowTitle = " -- Error --"
Write-Host -ForegroundColor Red $_.ToString()
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
Stop-Transcript
Stop-SPAssignment -Global
1. WebUrl - App Catalog site url
2.AppCatalogName - 'Apps for Sharepoint'
3.AppName - Your .app name
Note: The .app should be in the same directory where you are running the script.
Steps involved
1. Save following script as psRemoveAppFromAppCatalog.ps1
Param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[string]$WebUrl,
[Parameter(Mandatory=$true)]
[string]$AppCatalogName,
[Parameter(Mandatory=$true)]
[string]$AppName
)
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell";
}
function Get-ScriptDirectory
{
$Invocation = (Get-Variable MyInvocation -Scope 1).Value
Split-Path $Invocation.MyCommand.Path
}
#Get Current Physical Path
$currentPhysicalPath = Get-ScriptDirectory
$logfile=$currentPhysicalPath + "\log.log"
Start-Transcript $logfile
try
{
$site = new-object Microsoft.SharePoint.SPSite($WebUrl)
$web = $site.openweb()
$list=$web.Lists[$AppCatalogName]
$listItems = $list.Items
$listItemsTotal = $listItems.Count
Write-Host $listItemsTotal
if($list -ne $null)
{
for ($x=$listItemsTotal-1;$x -ge 0; $x--)
{
if($listItems[$x].name -eq $AppName) # file refers to the name of the document
{
$listItems[$x].Delete()
write-host -f Green "Successssfully unistalled the app -" $AppName " from app catalog" -ForegroundColor Green
}
}
}
}
catch
{
$Host.UI.RawUI.WindowTitle = " -- Error --"
Write-Host -ForegroundColor Red $_.ToString()
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
Stop-Transcript
Stop-SPAssignment -Global
Step2: Create batch file to run the script. Save file in .bat format.
cd /d %~dp0
powershell -file ./psRemoveAppFromAppCatalog.ps1 -WebUrl "https://catalog.ec.com" -AppCatalogName "Apps for SharePoint" -AppName "Oakton.Solutions.EC.WebApp.app"
pause
Happy powershell coding... please feel free to comment...
No comments:
Post a Comment