Verwenden von SharePoint Online CSOM in Azure

Dieser Artikel zeigt wie man über einen Azure Automation Account, mit PowerShell, auf SharePoint Online zugreifen kann. Dies ermöglicht beispielsweise eine automatisierte Provisionierung von SharePoint Online Seiten. Hierfür wird das Client-seitige Objektmodell (CSOM) für SharePoint Online verwendet.

Die CSOM Bibliotheken für SharePoint Online können als NuGet Paket heruntergeladen und in die eigene Anwendung eingebunden werden. Für die Verwendung in einem Azure Automation Account wird jedoch ein PowerShell Modul benötigt, um die DLLs zu laden. Zu diesem Zweck kann das Modul „SharePointOnline.CSOM“ aus der PowerShell Gallery geladen und im Azure Automation Account importiert werden.

Verwenden von CSOM im Azure Automation Account

  • Importieren von dem Module „SharePointOnline.CSOM“ unter Shared Resources – Modules – Browse gallery.
  • Nachdem der Import abgeschlossen wurde kann das Modul verwendet werden.
    SharePointOnline.CSOM Module unter Azure
  • Unter Shared Resources – Credentials die Zugangsdaten für SharePoint Online hinzufügen
    Credentials für O365
  • Anlegen von einem neuen Runbook vom Typ PowerShell.
  • Das Modul kann jetzt in dem Runbook verwendet werden.

Verwenden von dem PowerShell Modul „SharePointOnline.CSOM“

Das Modul stellt die folgenden Funktionen zur Verfügung:

Load-SPOnlineCSOMAssemblies

Lädt die am häufigsten benötigten Bibliotheken.

Load-SPOnlineCSOMAssemblies

Hierbei werden die folgenden DLLs geladen:

  • Microsoft.SharePoint.Client.dll
  • Microsoft.SharePoint.Client.Publishing.dll
  • Microsoft.SharePoint.Client.Runtime.dll
  • Microsoft.SharePoint.Client.Search.dll

Load-SPOnlineCSOMAssembly

Ermöglicht das Laden von weiteren Bibliotheken.

Load-SPOnlineCSOMAssembly "Microsoft.SharePoint.Client.Taxonomy.dll"

In dem Modul sind die folgenden Bibliotheken enthalten:

  • Microsoft.Office.Client.Policy.dll
  • Microsoft.Office.Client.TranslationServices.dll
  • Microsoft.Office.SharePoint.Tools.dll
  • Microsoft.Online.SharePoint.Client.Tenant.dll
  • Microsoft.ProjectServer.Client.dll
  • Microsoft.SharePoint.Client.dll
  • Microsoft.SharePoint.Client.DocumentManagement.dll
  • Microsoft.SharePoint.Client.Publishing.dll
  • Microsoft.SharePoint.Client.Runtime.dll
  • Microsoft.SharePoint.Client.Runtime.Windows.dll
  • Microsoft.SharePoint.Client.Search.Applications.dll
  • Microsoft.SharePoint.Client.Search.dll
  • Microsoft.SharePoint.Client.Taxonomy.dll
  • Microsoft.SharePoint.Client.UserProfiles.dll
  • Microsoft.SharePoint.Client.WorkflowServices.dll

Codebeispiel

Load-SPOnlineCSOMAssemblies
$psCredential = Get-AutomationPSCredential -Name 'O365Credential'
$username = $psCredential.UserName
$securePassword = $psCredential.Password
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePassword)
$siteURL = "https://mySharePoint.sharepoint.com"
$cContext = New-Object Microsoft.SharePoint.Client.ClientContext($siteURL)
$cContext.AuthenticationMode = [Microsoft.SharePoint.Client.ClientAuthenticationMode]::Default
$cContext.Credentials = $credentials
$cweb = $cContext.Web
$csite = $cContext.Site
$cContext.Load($cweb)
$cContext.Load($csite)
$cContext.ExecuteQuery()
$cweb.Title