{"id":665,"date":"2013-02-27T12:02:16","date_gmt":"2013-02-27T12:02:16","guid":{"rendered":"https:\/\/poiseddevelopers.com\/reality-tech\/?p=665"},"modified":"2024-05-06T09:19:16","modified_gmt":"2024-05-06T09:19:16","slug":"reporting-on-sharepoint-event-receivers","status":"publish","type":"post","link":"https:\/\/poiseddevelopers.com\/reality-tech\/reporting-on-sharepoint-event-receivers\/","title":{"rendered":"Reporting on SharePoint Event Receivers"},"content":{"rendered":"<p>SharePoint Event Receiver Reporting<\/p>\n<p>Event Receivers are a very powerful SharePoint construct. Because of timing issues, they can be tricky to get right. My good friend Jimil Ibrahim asked about this recently, prompting me to provide just such a reporting capability for general use. Below is a script that will quickly generate a report of all Event Receivers in all Libraries, in all SPWebs in all SPSites. The output is easily imported into MS-Excel for rapid analysis.<\/p>\n<pre lang=\"php\">$wa=Get-SPWebApplication http :\/\/SharePoint  #susbstitute with your own Web Application.\r\n \r\nforeach ($site in $wa.Sites)\r\n{\r\nWrite-Host \"S\" -NoNewline\r\n    foreach ($web in $site.allwebs)\r\n    {\r\n    Write-Host \"W\" -NoNewline\r\n \r\n        for ($LibIndex=0; $LibIndex -lt $web.Lists.Count; $LibIndex++)\r\n        {\r\n        Write-Host \"L\" -NoNewline\r\n            $list = $Web.Lists[$LibIndex];\r\n \r\n            $i=0;\r\n \r\n             \r\n            foreach ($ER in $list.EventReceivers)\r\n            {\r\n                Add-Content C:ReportsERs.csv \"$($Site.url),$($web.title),$($web.url),$($List.title), Event $($i): $($ER.name), $($ER.Synchronization)\"\r\n                $i++\r\n            }\r\n \r\n        }\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>SharePoint Event Receiver Reporting Event Receivers are a very powerful SharePoint construct. Because of timing issues, they can be tricky to get right. My good friend Jimil Ibrahim asked about this recently, prompting me to provide just such a reporting capability for general use. Below is a script that will quickly generate a report of [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":669,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[33],"tags":[],"class_list":["post-665","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-event-receivers"],"acf":[],"_links":{"self":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/comments?post=665"}],"version-history":[{"count":1,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/665\/revisions"}],"predecessor-version":[{"id":672,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/665\/revisions\/672"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/media\/669"}],"wp:attachment":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/media?parent=665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/categories?post=665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/tags?post=665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}