Mit Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

 

Zusammenfassung

Wenn Microsoft SharePoint 2013 auf Microsoft SharePoint 2016 aktualisieren, müssen Sie eine neue Workflow-Manager-Installation erstellen. Verwenden derselben Installation verwendet wurde von SharePoint 2013-Farm in neuen 2016 SharePoint-Farm.

Allerdings müssen Sie unter Umständen eine Neuinstallation von Workflow-Manager erstellen. Wenn z. B. Workflow-Manager in ein anderes Windows-Betriebssystem verschieben oder wenn Datenbank-Backend-Server außer Betrieb. In diesen Fällen die Schritte im Workflow-Manager-Wiederherstellung die neuen Workflow-Manager-Installation mithilfe der alten Datenbanken. Stellen Sie sicher, dass Sie die aktuellste Kopie der Workflow-Manager-Datenbanken verwenden.

Hintergrund

Bei Verwendung von SharePoint Server mit Workflow-Manager zeichnet Workflow Manager von SharePoint-Websites, die Workflows veröffentlicht haben. Jede Seite wird als Bereichim Workflow-Manager dargestellt. Workflow-Manager speichert auch die workflowdefinitionen, alle Workflowinstanzen und deren Status.

SharePoint speichert die Workflowhistorie und Workflow Vorgangsinformationen für SharePoint-Workflows. Wenn die Workflowstatusseite geladen wird, ruft SharePoint zuerst Workflow-Manager, ob der Workflow vorhanden ist. Dazu wird die Workflow-Instanz-ID SharePoint lädt dann den Rest der Workflow-Informationen. Fehlt die Workflowinstanz-ID im Workflow-Manager oder Fehler bei der Kommunikation mit dem Workflow-Manager erhalten Sie eine Fehlermeldung.

Aktualisieren Sie SharePoint 2013 auf SharePoint 2016 über Workflow Manager

Voraussetzungen

  • Installieren Sie das neueste kumulative Update für Workflow-Manager mithilfe von Web Platform Installer (Web PI).

  • Installieren Sie die neueste Version von Workflow-Manager-Client auf den Servern SharePoint 2013, und stellen Sie sicher, dass alle Workflows ausgeführt werden.

  • Installieren Sie 2016 SharePoint-Farm und aktualisieren Sie alle Service-Applikationen und Inhaltsdatenbanken.

  • Mithilfe von Web PI auf allen SharePoint 2016 Farmservern installieren Sie die neueste Version von Workflow-Manager-Client.

Workflow Manager SharePoint 2016 registrieren

Gehen Sie hierzu folgendermaßen vor:

  1. Wechseln Sie in SharePoint 2013-Farm zu Zentraladministration > Application Management > Anwendung verwaltenund anschließend Workflow Dienstanwendungsproxy.

  2. Führen Sie in der Farm SharePoint 2016 das folgende PowerShell-Cmdlet zu SharePoint 2016 mit derselben Workflow-Manager-Installation:

    Register-SPWorkflowService –SPSite <SharePoint site URL> –WorkflowHostUri <Workflow service endpoint URL> -force

Hinweis Beachten Sie, dass die Inhaltsdatenbanken, die in der neuen Farm SharePoint 2016 aktualisiert wurden sollten aus der letzten Sicherung wiederhergestellt wurden. Dies verhindert Unterschiede und Lücken zwischen den Workflow-Manager und die Inhaltsdatenbanken.

Probleme, die nach der Aktualisierung auftreten können

Problem 1: Website-URL geändert

Wenn Ihre Website-URL in SharePoint 2016 geändert, jedoch die Site-ID bleibt, müssen Sie einen Workflow von der betreffenden Website mithilfe von SharePoint Designer erneut veröffentlichen.

Problem 2: Workflows nicht auf einige Websites starten.

Wenn Workflows nicht auf einige Websites beginnen erneut veröffentlichen Sie Workflows auf der betroffenen Website. Oder führen Sie den Zeitgeberauftrag für Aktivitätsfeeds aktualisieren Trusted Security Token Services-Metadaten .

Problem 3: Workflows fehlschlagen und Fehler "App Hauptberechtigung Informationen können nicht abgerufen werden."

Problembeschreibung

Betrachten Sie das folgende Szenario:

  • Sie SharePoint 2013 Workflows und Workflow-Manager in der Farm konfiguriert.

  • Sie haben kürzlich Websites in der Farm zu einer bereits vorhandenen Instanz des Workflow-Managers verbunden.

In diesem Szenario erfolgreich abgeschlossen Workflows, die nach dem Herstellen einer Verbindung mit der Workflow-Manager-Installations erstellt werden. Jedoch Beenden nicht vor dem Verbinden von Workflow-Manager Workflows. Stattdessen stecken sie, wenn sie versuchen, beendet oder angehalten bleiben. Für Workflows angehalten bleiben erhalten Sie einen HTTP 500-Fehler. Außerdem wird der folgende Eintrag im ULS-Protokoll protokolliert:

App Hauptberechtigung Informationen können nicht abgerufen werden.


Ursache

Workflow-Manager bereits einen Bereich für die Website auf der Workflows ausgeführt werden. Da der Bereich einen falschen SPAuthenticationRealm -Wert im Feld ApplicationID des Bereichs ist, ist keine SPAppPrincipal -Klasse auf SPWeb-Objekt, das die ApplicationID des Bereichs Wert vorhanden. Workflows fehl und gibt eine Fehlermeldung zurück.

Problemlösung

Um dieses Problem zu beheben, verwenden Sie die folgenden PowerShell Befehle neue SPAppPrincipal -Objekt registriert. Dazu auf dem SPWeb -Objekt, dessen ID ApplicationID Wert entspricht, der im Gültigkeitsbereich für das SPWeb -Objekt im Workflow-Manager gespeichert.

#Variables
$webUrl = "http://sp.contoso.com/sites/teamsite/teamweb"
$oldAuthRealm = "58a2b173-0f88-4bff-935b-bf3778cd0524" #authentication realm expected by Workflow Manager
$newAuthRealm = "48834d17-d729-471e-b0d0-a0ec83b49de0" #authentication realm of current farm

#Get the SPWeb and SPSite objects, and the id of the web
$web = Get-SPWeb $webUrl
$site = $web.site
$clientId = $web.Id

#Create the old and new app principal ids
$oldAppId = "$clientId@$oldAuthRealm"
$newAppId = "$clientId@$newAuthRealm"

#Register the app principal with the old authentication realm
Register-SPAppPrincipal -DisplayName "Old Workflow" -Site $web -NameIdentifier $oldAppId

#Set permissions for the app principal
$oldAppPrincipal = Get-SPAppPrincipal -Site $web -NameIdentifier $oldAppId
Set-SPAppPrincipalPermission -Site $web -AppPrincipal $oldAppPrincipal -Scope SiteCollection -Right FullControl
Set-SPAppPrincipalPermission -Site $web -AppPrincipal $oldAppPrincipal -Scope Site -Right FullControl

#List the app principals with the old and new authentication realms in the ids
Get-SPAppPrincipal -Site $web -NameIdentifier $oldAppId | fl
Get-SPAppPrincipal -Site $web -NameIdentifier $newAppId | fl
 
Weitere Informationen

Um den Wert SPAuthenticationRealmApplicationID abzurufen, die im Bereich befinden, gehen Sie folgendermaßen vor:

  1. Führen Sie die folgende SQL-Abfrage:

    SELECT *
    FROM [WFResourceManagementDB].[dbo].[Scopes] WITH (NOLOCK)
    WHERE Description like '%<WebID>%'


    Hinweis <WebID> ist der Platzhalter für die ID des SPWeb-Objekt.

  2. Klicken Sie in das Abfrageergebnis auf den Wert in der Spalte SecuritySettings in SQL Server Management Studio den XML-Code auf einer separaten Registerkarte öffnen.

  3. Suchen Sie in der XML-Datei das p -Element mit dem Wert. Suchen Sie beispielsweise das folgende Element:

    <ApplicationId>SPWeb_object_ID@SPAuthenticationRealm</ApplicationId>

    Hinweis Die GUID, die vor der at-Zeichen (@) ist die ID des SPWeb-Objekt und die GUID, die nach der Zeichen wird der SPAuthenticationRealm .

Alternativ finden Sie den Wert SPAuthenticationRealm in ULS-Protokoll wie in der folgenden Beispiel-Protokolleintrag:

11/03/2017 12:13:16.72 w3wp.exe (SPWFE01:0x51FC) 0x1298 SharePoint Foundation Authentifizierung Autorisierung an3eg app principal Berechtigungsinformationen Medium kann nicht abgerufen werden. AppId=i:0i.t|ms.sp.ext| < SPWeb-Objekt-ID > @< SPAuthenticationRealm >
 
11/03/2017 12:13:16.72 w3wp.exe (SPWFE01:0x51FC) 0x1298 SharePoint Foundation-allgemeine 8nca Mittel Anwendungsfehler beim Zugriff auf /site/teamsite/teamweb/_vti_bin/client.svc, Fehler = Objektverweis nicht auf eine Objektinstanz o festgelegt Objekt.   bei Microsoft.SharePoint.SPAppRequestContext.EnsureTenantPermissions (SPServiceContext ServiceContext, boolesche ThrowIfAppNotExits boolesche AllowFullReset) am Microsoft.SharePoint.SPAppRequestContext.InitCurrent (HttpContext Context) an Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.InitCurrentAppPrincipalToken (HttpContext Context) auf Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostAuthenticateRequestHandler (Objekt oSender, EventArgs Ea) an System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() an System.Web.HttpApplication.ExecuteStep (IExecutionStep Schritt, Boolean & CompletedSynchronously)

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern

Schulungen erkunden >

Neue Funktionen als Erster erhalten

Microsoft Insider beitreten >

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×