Thursday, January 3, 2019

List event receiver attached with SharePoint Online list or Library using PowerShell

#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Users\sureshkumar.d\Desktop\PS Scripts\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Users\sureshkumar.d\Desktop\ PS Scripts\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Users\sureshkumar.d\Desktop\CFR PS Scripts\Microsoft.SharePoint.Client.DocumentManagement.dll"

$siteUrl = "Sharepoint site URL"
$libraryName = "FilenameFix"

$AdminUsername = "******@congruentsoftindia.onmicrosoft.com" #Read-Host -Prompt "Enter Admin User Name: "
$AdminPassword = "********" #Read-Host -Prompt "Enter Password: " -AsSecureString
$password = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminUsername, $password)

$srcContext = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$srcContext.Credentials = $credentials
$srcContext.RequestTimeout = 100000 * 60 * 60;
$srcContext.PendingRequest.RequestExecutor.RequestKeepAlive = $true

$srcWeb = $srcContext.Web
$srcContext.Load($srcWeb)
$list = $srcWeb.Lists.GetByTitle($libraryName)
$srcContext.Load($list)
$srcContext.ExecuteQuery()

Write-Host $srcWeb.Title $srcWeb.Url $list.Title $list.Url

$srcWeb.DeleteObject()
$srcContext.Dispose()


function listEventReceivers([Microsoft.SharePoint.Client.ClientContext]$context, [string]$listName)
{
    Write-Host "Attempting to iterate event receivers on list '$listName'"

    $list = $context.Web.Lists.GetByTitle($listName);
    $context.Load($list)
    $eventReceivers = $list.EventReceivers
    $context.Load($eventReceivers)
    $context.ExecuteQuery()

    Write-Host "Found" $eventReceivers.Count "receiver(s) on this list"

    foreach ($er in $eventReceivers)
    {
        #if ($er.ReceiverName -eq $receiverName)
        #{
                Write-Host ("Found ER: " + $er.ReceiverName)
                Write-Host ("   ReceiverClass: " + $er.ReceiverClass)
                Write-Host ("   ReceiverAssembly: " + $er.ReceiverAssembly)
                Write-Host ("   EventType: " + $er.EventType)
                Write-Host ("   ReceiverUrl: " + $er.ReceiverUrl)
                Write-Host ("   Synchronization: " + $er.Synchronization)
       # }
    }
}

# now call function..
listEventReceivers $srcContext $libraryName

No comments:

Post a Comment