SPSecurity.RunWithElevatedPrivileges depuis PowerShell

Lorsque l’on travaille avec un script PowerShell, il arrive que l’utilisateur connecté, même en étant administrateur de la ferme, n’ait pas les droits d’accès à telle ou telle ressource.

J’ai eu le cas, par exemple, lors de l’écriture d’un script d’inventaire de template de formulaire InfoPath. Certaines collections de sites, avec du contenu sensible, avait bridé les autorisations.

Pour obtenir tous les droits, il est alors possible d’exploiter la méthode SPSecurity.RunWithElevatedPrivileges directement en PowerShell :

Le script présenté ici est un script pour SharePoint 2007, mais il fonctionnera très bien avec SharePoint 2010 (pensez simplement à changer le numéro de version dans le chargement de l’assembly).

Rating 5.00 out of 5
[?]