Monday, June 8, 2020

Get Attached Remote Event Receiver and Delete Event Receiver with Powershell

function Get-SPOListEventreceivers
{
param (
[Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
[Parameter(Mandatory=$true,Position=3)]
[string]$Url,
[Parameter(Mandatory=$true,Position=4)]
[string]$ListName,
[Parameter(Mandatory=$true,Position=5)]
[string]$EventReceiverId
)

$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)

try{
$ctx.ExecuteQuery()
}
catch [Net.WebException] {           
Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
}

#$ctx.Load($ctx.Site)
#$ctx.Load($ctx.Web.Lists)
$list = $ctx.Web.Lists.GetByTitle($ListName)
    $ctx.Load($list)
$ctx.ExecuteQuery()

$recevery=$list.EventReceivers
$ctx.Load($recevery)
$ctx.ExecuteQuery()

#$eventReceivers = $recevery | Where 
    #{ 
     #   $_.Id - eq $EventReceiverId
    #} 
    #if ($eventReceivers) 
    #{ 
     #   foreach($receiver in $eventReceivers) 
      #  { 
       #     Write - Host "Deleting Event Receiver from " 
        #    $List.RootFolder.ServerRelativeUrl - ForegroundColor Yellow 
         #   $receiver.Delete() 
          #  Write - Host Deleted event receiver successfully. - ForegroundColor Green 
        #}
#$ctx.ExecuteQuery()
    #} 
    #else 
    #{ 
        #Write - Host No Event Receivers on List with id $EventReceiverId present - ForegroundColor Yellow 
    #}

Write-Host $recevery.Count $list.Title
for($i=0;$i -lt $recevery.Count ; $i++)
{
$ctx.Load($recevery[$i])
$ctx.ExecuteQuery()
Write-Output $recevery[$i].ReceiverId
  if ($recevery[$i].ReceiverId -eq "17668f58-fad6-4af5-bdfc-8a190a74737d")
      {  
         $recevery[$i].DeleteObject()
         Write-Host "Event receiver " $recevery[$i].ReceiverUrl " is deleted"
      }
  Write-Output $recevery[$i]

$ctx.ExecuteQuery()
}

# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

# Insert the credentials and the name of the admin site
$Username="useremail@rbeerla.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$Url="https://domain.sharepoint.com/sites/sitecollectionname"
$ListName = "ListName"
$EventReceiverId = "ef3db358-e12c-452b-ba1b-a8a658185125"

#Get-SPOListEventreceivers -Username $Username -AdminPassword $AdminPassword -Url $Url $ProcessOneWayLIst $ef3db358-e12c-452b-ba1b-a8a658185125
Get-SPOListEventreceivers -Username $Username -AdminPassword $AdminPassword -Url $Url -ListName $ListName -EventReceiverId $EventReceiverId

No comments:

Post a Comment