Copier un rapport d’audit SharePoint sur un répertoire réseau

Posted on Updated on

Bonjour à tous.

Une petite KB : comment récupérer un fichier XML de rapport d’audit généré  par SharePoint (2007 & 2010)  avec du code ?

Page de demande du rapport d'audit

Page de récupération des rapports d’Audit SharePoint Server 2010

Voici une petite méthode permettant de récupérer ce fichier XML sachant qu’il est généré lors du clic sur le bouton (rapport de modification par exemple) et de le copier dans un répertoire (réseau ou local).

Code
  1. string urlToSharePointSite = http://<Url to SharePoint website>”;
  2. Guid reportGuid = “<Guid>”;
  3. string outputFolder = “Path to output folder on drive or UNC”;
  4. try
  5. {
  6. byte[] tab = new byte[1];
  7. SPSecurity.RunWithElevatedPrivileges(delegate()
  8. {
  9. using (SPSite site = new SPSite(urlToSharePointSite))
  10. {
  11. Report report = new Report(site, reportGuid);
  12. tab = report.Generate(null);
  13. }
  14. });
  15. if (tab.Length > 1)
  16. {
  17. string filename = string.Format(“NomDuRapport_{0}_{1}.xml”, DateTime.Now.ToString(“ddMMyyyy”), DateTime.Now.ToString(“hhmmss”));
  18. using (FileStream file = new FileStream(string.Format(@”{0}\{1}”, outputFolder, filename), FileMode.OpenOrCreate, FileAccess.ReadWrite))
  19. {
  20. file.Write(tab, 0, tab.Length);
  21. file.Flush();
  22. }
  23. }
  24. }
  25. catch (Exception ex)
  26. {
  27. //Catch Exception ex
  28. }
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s