Eine SharePoint Server 2010 Farm kann auf einige Service Applications einer SharePoint Server 2013 Farm zugreifen. Das kann nützlich sein, wenn man mit 2013 plant, aber nicht gleich alles upgraden möchte.
Dabei funktioniert dies nur in eine Richtung: eine 2010er Farm kann auf 2013er Service Applications zugreifen, nicht umgekehrt. Als Beispiel funktioniert dies mit Search und Metadata Service.
Zunächst müssen sich die Farmen vertrauen.
Austauschen von Trust Certificates
Dazu die Farm Zertifikate beiden Farmen exportieren und einen Trust einrichten.
Öffnen der SharePoint Management Shell
- Export Farm und STS Certifcate auf der SP2010 Farm
$rootCert = (Get-SPCertificateAuthority).RootCertificate
$rootCert.Export(“Cert”) | Set-Content c:\Temp\2010FarmRoot.cer –Encoding byte
$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
$stsCert.Export(“Cert”) | Set-Content c:\Temp\2010FarmSTS.cer –Encoding byte
- Export Farm Cetificate auf der SharePoint 2013 Farm
$rootCert = (Get-SPCertificateAuthority).RootCertificate
$rootCert.Export(“Cert”) | Set-Content c:\Temp\2013FarmRoot.cer –Encoding byte

- Import des 2013er Farm Zertifikats in der 2010er Farm
$trustCert = Get-PfxCertificate c:\Temp\2013FarmRoot.cer
New-SPTrustedRootAuthority “2013 Trust” –Certificate $trustCert

-
Import von 2010er Farm Zertifikat und STS Zertifikat in der 2013er Farm
$trustCert = Get-PfxCertificate c:\Temp\2010FarmRoot.cer
New-SPTrustedRootAuthority “2013 Trust” –Certificate $trustCert
$stsCert = Get-PfxCertificate c:\Temp\2010FarmSTS.cer
New-SPTrustedServiceTokenIssuer “2013 Trust” –Certificate $stsCert

Veröffentlichen von Service Applications und Berechtigungen setzen
Dann können die Service Applications der 2013er Farm veröffentlicht werden.
In der SharePoint 2013 Farm werden die entsprechenden Dienstanwendungen veröffentlicht.
Wichtig sind noch die Berechtigungen in der 2013er Farm, damti die 2010er auf die Service Applications überhaupt zugreifen darf. Dazu braucht es die Farm ID der 2010er Farm.
Die Farm ID der SharePoint 2010 Farm erhalten:
$farmid = Get-SPFarm | Select Id
Ausführen auf der SharePoint 2013 Farm
$consumingFarmID = “077eff69-f53d-4ad3-81e0-da5a82c74c1c” #ID der 2010er Farm
$security = Get-SPTopologyServiceApplication | Get-SPServiceApplicationSecurity
$claimprovider = (Get-SPClaimProvider System).ClaimProvider
$principal = New-SPClaimsPrincipal -ClaimType “http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid” -ClaimProvider $claimprovider -ClaimValue $consumingFarmID
Grant-SPObjectSecurity -Identity $security -Principal $principal -Rights “Full Control”
Get-SPTopologyServiceApplication | Set-SPServiceApplicationSecurity -ObjectSecurity $security
Der SharePoint 2010 Farm Berechtigungen für die SharePoint 2013 Dienstanwendung geben


Nun kann in der SharePoint 2010 Farm auf den Service Application Proxy der SharePoint 2013 Farm zugegriffen werden.
Anschließend wird die Dienstanwendung der 2013er Farm ausgewählt.
Die Verbindung erscheint unter den Dienstanwendungen
Am Beispiel Managed Metadata, hier kann man zwischen der Verbindung zum 2013er und der 2010er auswählen und konfigurieren:
Am Beispiel einer Websitesammlungspalte kann man sehen, dass innerhalb der 2010er Farm auf die verwalteten Metadaten der 2013er Farm zugegriffen werden kann.
Eine Liste in SharePoint 2010 mit verwalteten Metadaten aus beiden Farmen:
Probleme:
Aus einem mir unbekannten Grund hat es die “Permissions” der Service Application “Application Discovery and Load Balancing Service Application” zerlegt. Beim Öffnen des Dialogs für die Permissions erscheint ein “Something went wrong” mit System.ArgumentsException und Parameter:Claim.
Sieh dazu auch diesen Blog: http://thatsharepointguy.blogspot.de/2012/08/permissions-error-on-application.html
Ein kleines Script in der Konfigurationsdatenbank der SharePoint 2013 Farm ergibt die Permissions, die auf die “Application Discovery and Load Balancing Service Application” gesetzt sind.
select Properties from objects (nolock) where name = ‘Topology’
Dabei scheint es mir hier mit < und > ein paar Probleme zu geben. Und zwar genau da wo die Remote Farm mit der Farm ID eingetragen ist:
Dies lässt sich mit Notepad und Suchen&Ersetzen leicht beheben. Vorher aber unbedingt alle SharePoint Dienste auf allen Servern stoppen und dann eine Sicherung der Konfigurationsdatenbank machen. Denn ein UPDATE in der Konfigurationsdatenbank von SharePoint ist: böse. (Hat aber geholfen).
Und siehe da, der Permissions-Dialog der
“Application Discovery and Load Balancing Service Application” lässt sich wieder öffnen.