Beim Versuch in einer Testumgebung den User Profile Application Service einer SharePoint Server 2010 Farm zu Konfigurieren, bin ich auf diverse Probleme gestoßen. Eigentlich wollte ich mich beim Einrichten an den hervorragenden Artikel von Spencer Harbar halten:
Rational Guide to implementing SharePoint Server 2010 User Profile Synchronization
Aber soweit kam ich erst einmal gar nicht. Der Reihe nach:
In der Zentraladministration wollte ich unter "Manage Services on Server" den "User Profile Synchronisation Service" manuell starten. Dieser stand anschließend mehrere Stunden auf "Starting". Der Stop-Button war leider nicht mehr aktiv. In einem weiteren Artikel von Spencer Harbar (“Stuck on Starting”: Common Issues with SharePoint Server 2010 User Profile Synchronization) bekam ich den Tipp, den UPS zu löschen und eine neue anzulegen. Das Löschen des zugehörigen Proxy ging problemlos, doch beim Löschen der eigentlichen Service Application hing ich wieder stundenlang in einer Schleife und der UPS konnte nicht gelöscht werden. In diesem Forumsbeitrag habe ich dann einen STSADM-Befehl gefunden, um die Service Applikation per Kommandozeile zu löschen:
stsadm -o deleteconfigurationobject -id
(die ‚id‘ erhält man in der Statuszeile des Internet Explorers, wenn man mit der Maus über den Link der Service Application fährt)
Beispiel:
stsadm -o deleteconfigurationobject -id 97s2fgd9-453k-3423-f334-8r78jd3bv2t6
Nach wie vor stand aber der "User Profile Synchronisation Service" auf "Starting". Beim Aufruf von "Review Job Definitions" kam folgende Fehlermeldung hinzu: "Operation is not valid due to the current state of the object"
Nun galt es also zuerst alle zugehörigen Timerjobs zu beenden, um später den Service selbst stoppen zu können. Über die "SharePoint 2010 Management Shell" (ausgeführt als Administrator) bekam ich mit dem PowerShell-Befehl
Get-SPTimerJob
einen Überblick über alle Timerjobs der Farm. Dort konnte man durch den Befehl
Get-SPTimerJob | where {$_.DisplayName -eq $null}
Quelle: Review job definition link in CA – Monitoring – Timer Jobs error
die Auswahl einschränken – und wie erwartet waren es die Timerjobs zum "User Profile Synchronisation Service", die die Probleme verursachten. Man erkennt dies bspw. an einem seltsamen Wert unter "Last Run": 01.01.0001 00:00:00. Mit dem Befehl
Get-SPTimerJob | where {$_.name -match "User Profile Service*"} | % { $_.Delete()}"
Quelle: User Profile Service
beendete ich die fehlerhaften Timerjobs. Nun ging es daran, die GUID des Services herauszufinden, um ihn anschließend per Kommandozeile zu stoppen:
Get-SPServiceInstance > C:\file.txt
in der Textdatei finden man dann die GUID des Service.
Stop-SPServiceInstance [userprofilesynchronizationservice GUID]
Die Anzeige springt nun von "Provisioning" auf "Unprovisioning" um:
Nun stand der "User Profile Synchronisation Service" immerhin schon mal auf "Stopping". Doch auch dieser Zustand blieb mehrere Stunden unverändert stehen… Die folgenden Befehle brachten den "User Profile Synchronisation Service" dann endgültig zum Stoppen:
stsadm -o enumservices > c:\services.txt
Dadurch erhält man eine Liste aller Services mit dem zugehörigen internen Servicenamen.
Beispiel:
stsadm -o provisionservice -action stop -servicetype "Microsoft.Office.Server.Administration.ProfileSynchronizationService, Microsoft.Office.Server.UserProfiles, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" -servicename FIMSynchronizationServiceQuelle: User Profile Service Synchronization Service Stuck in "Stopping" State
Danach kurz die Windows Event Logs gecheckt – alles in Ordnung. Nun habe ich eine neue User Profile Service Application manuell angelegt. Soweit hat alles geklappt. Wollte ich jedoch über den Button "Manage" in die Konfigurationseinstellungen gelangen, so erhielt ich folgende Fehlermeldung:
Dieser Blogbeitrag inkl. Kommentare brachte mich in diesem Fall weiter: IIS Reset und unter "Manage Services on Server" manuell zumindest den "User Profile Service" starten. Danach kam ich problemlos über "Manage" auf die Konfigurationsseite des UPS.
So und nun ein neuer Versuch…
Ressourcen:
Remove all Service Applications from SharePoint 2010 farm with PowerShell
TechNet: Delete a service application
The User Profile Synchronization service does not start on a stand-alone installation of SharePoint Server 2010
TechNet: Configure profile synchronization
Steve Chen about User Profile Sync
Configuring User Profiles in SharePoint Server 2010