Aggiungere un evento ad una lista con PowerShell
SharePoint Server 2010 ha introdotto dei nuovi comandi PowerShell per la gestione della farm, in questo caso uso il comando get-spweb.
Con questo script è possibile aggiungere ad una lista un Event Handler contenuto in un assembly (dll) caricato in GAC.
Nell'esempio aggiungo un Event Handler sull'evento ItemAddedd (variabile $type) della lista Proposte. Le variabili $class e $assembly vanno valorizzate con il nome della classe (namespace.classe) e la firma dell'assembly. Per finire la variabile $url va valorizzata con la url del sito in cui si trova la lista e in $listName il display name della lista.
File: addReceiver.ps1
Con questo script è possibile aggiungere ad una lista un Event Handler contenuto in un assembly (dll) caricato in GAC.
Nell'esempio aggiungo un Event Handler sull'evento ItemAddedd (variabile $type) della lista Proposte. Le variabili $class e $assembly vanno valorizzate con il nome della classe (namespace.classe) e la firma dell'assembly. Per finire la variabile $url va valorizzata con la url del sito in cui si trova la lista e in $listName il display name della lista.
File: addReceiver.ps1
PowerShell
$url = "http://sharepoint2010/sites/Progetti"
$listName = "Proposte"
$type = [Microsoft.SharePoint.SPEventReceiverType]::ItemAdded
$class = "SgartIntranet.ProposalEventHandler"
$assembly = "SgartIntranet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d2c1d0884f31fb2a"
$w = get-spweb $url
$l = $w.Lists[listName]
$l.EventReceivers.Add($type , $assembly,$class )
$l.Update()