SharePoint 2010: Falha de sincronização de perfis de utilizador com o evento ID 6801

Aplica-se a: SharePoint Server 2010

Sintomas


Está a executar a sincronização de perfis (utilizando o Gestor de identidade do Forefront) no SharePoint Server 2010. Falha de sincronização de perfis e é registado o seguinte erro no registo de eventos do servidor de sincronização (6801 de ID de evento):

Nome de registo: aplicação
Origem: FIMSynchronizationService
ID do evento: 6801
Categoria de tarefa: servidor
Nível: erro
Palavras-chave: clássico
Descrição:
A extensão extensible devolveu um erro não suportado.
O rastreio da pilha é:

"System.Reflection.TargetInvocationException: o destino de uma invocação accionou excepção. ---> Microsoft.Office.Server.UserProfiles.UserProfileApplicationNotAvailableException: nenhuma aplicação do perfil de utilizador disponíveis para assistirem o pedido. Contacte o administrador do farm.
em Microsoft.Office.Server.UserProfiles.ProfileManagerInstance.GetApplicationProxy()
em Microsoft.Office.Server.UserProfiles.ProfileImportExportService.GetPartitionIds()
---Fim do rastreamento da pilha de excepção interna--
em System.RuntimeMethodHandle._InvokeMethodFast (destino do objecto, argumentos de [] do objecto, SignatureStruct & sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
em System.Reflection.RuntimeMethodInfo.Invoke (objecto obj, BindingFlags invokeAttr, Arquivador do arquivador, parâmetros de [] do objecto, CultureInfo cultura, Boolean skipVisibilityChecks)
em System.Reflection.RuntimeMethodInfo.Invoke (objecto obj, BindingFlags invokeAttr, Arquivador do arquivador, parâmetros de [] do objecto, CultureInfo cultura)
em Microsoft.Office.Server.WebServiceDirectProxy.WebMethodInfo.Invoke (webServiceInstance do objecto, argumentos do objecto [])
em Microsoft.Office.Server.WebServiceDirectProxy.Invoke (String methodName, argumentos do objecto [])
em Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportDirect.GetPartitionIds()
em Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.
GenerateImportFile (String fileName, cadeia connectTo, String user, palavra-passe de cadeia, ConfigParameterCollection configParameters, Boolean fFullImport, tipos de TypeDescriptionCollection, cadeia & customData)
Gestor de identidades do Forefront 4.0.2450.11 "

Evento Xml:
< evento xmlns = "http://schemas.microsoft.com/win/2004/08/events/event" >
<System>
< nome do fornecedor = "FIMSynchronizationService" / >
< qualificadores de ID de evento = "49152" > 6801 < / ID de evento >
<Level>2</Level>
<Task>3</Task>
<Keywords>0x80000000000000</Keywords>
< TimeCreated SystemTime = "[data e hora] T20:30:12.000000000Z" / >
<EventRecordID>42502</EventRecordID>
<Channel>Application</Channel>
<Computer>ComputerName</Computer>
< segurança / >
</System>
<EventData>
< dados > System.Reflection.TargetInvocationException: o destino de uma invocação accionou excepção. ---& gt; Microsoft.Office.Server.UserProfiles.UserProfileApplicationNotAvailableException: Nenhuma aplicação perfis de utilizador disponíveis para assistirem o pedido. Contacte o administrador do farm.
em Microsoft.Office.Server.UserProfiles.ProfileManagerInstance.GetApplicationProxy()
em Microsoft.Office.Server.UserProfiles.ProfileImportExportService.GetPartitionIds()
---Fim do rastreamento da pilha de excepção interna--
em System.RuntimeMethodHandle._InvokeMethodFast (destino do objecto, argumentos de [] do objecto, SignatureStruct & sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
em System.Reflection.RuntimeMethodInfo.Invoke (objecto obj, BindingFlags invokeAttr, Arquivador do arquivador, parâmetros de [] do objecto, CultureInfo cultura, Boolean skipVisibilityChecks)
em System.Reflection.RuntimeMethodInfo.Invoke (objecto obj, BindingFlags invokeAttr, Arquivador do arquivador, parâmetros de [] do objecto, CultureInfo cultura)
em Microsoft.Office.Server.WebServiceDirectProxy.WebMethodInfo.Invoke (webServiceInstance do objecto, argumentos do objecto [])
em Microsoft.Office.Server.WebServiceDirectProxy.Invoke (String methodName, argumentos do objecto [])
em Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportDirect.GetPartitionIds()
em Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.
GenerateImportFile (String fileName, cadeia connectTo, String user, palavra-passe de cadeia, ConfigParameterCollection configParameters, Boolean fFullImport, tipos de TypeDescriptionCollection, cadeia & customData)
Gestor de identidades do Forefront 4.0.2450.11 < / dados >
</EventData>
</Event>

Causa


Este problema poderá ocorrer se o proxy de aplicação de serviço de perfis de utilizador fica danificado ou é eliminado

Resolução


Para resolver este problema, elimine e crie novamente o proxy de aplicação de serviço de perfis de utilizador, utilizando os seguintes comandos do Powershell:

  1. Remova o proxy de aplicação de serviço de perfis de utilizador:
    $proxy = Get-SPServiceApplicationProxy | where {$_.typename -eq "User Profile Service Application Proxy"}
    Remove-SPServiceApplicationProxy -Identity $proxy -confirm:$false
  2. Crie o proxy de aplicação de serviço de perfis de utilizador:
    $upa = Get-SPServiceApplication | where {$_.name -eq "<name here>"}
    New-SPProfileServiceApplicationProxy -Name <proxyName> -Uri $upa.uri.absoluteURI
Associar o novo Proxy de aplicação de serviço do perfil de utilizador com as aplicações web existentes

Quando cria uma aplicação de serviço no Microsoft SharePoint Server 2010, é criada uma ligação de aplicação de serviço . Uma ligação de aplicação de serviço também é referida como um proxy de aplicação. Uma ligação de aplicação de serviço associa a aplicação de serviço para aplicações Web através da associação a um grupo de ligação de aplicação de serviço (também referida como grupo de proxies de aplicação).

Pode adicionar ou remover ligações de aplicação de serviço a um grupo de ligação de aplicação de serviço, utilizando a Administração Central ou utilizando cmdlets Windows PowerShell 2.0.
  1. Para editar um grupo de ligação de serviço utilizando a Administração Central
    • Certifique-se de que a conta de utilizador que está a efectuar este procedimento é um membro do grupo SharePoint de administradores do Farm.
    • Na página Home page de Administração Central, clique em Gestão de aplicações.
    • Na página Gestão de aplicações, na secção Aplicações de serviço , clique em Configurar associações de aplicação de serviço.
    • Na página associações de aplicação de serviço, seleccione Aplicações Web no menu pendente Ver .
    • Na lista de aplicações Web, na coluna Grupo de proxies de aplicação , clique no nome do grupo de ligação de aplicação de serviço a que pretende alterar.
    • Para adicionar uma ligação de serviço para o grupo, seleccione a caixa de verificação junto a aplicação de serviço que pretende adicionar ao grupo de ligação. Para remover uma ligação de aplicação de serviço do grupo de ligação, desmarque a caixa de verificação junto a aplicação de serviço que pretende remover do grupo de ligação. Quando tiver efectuado as alterações que pretende, clique em OK.

    Nota: Também pode alterar grupos de ligação de aplicação de serviço personalizado clicando em Gerir aplicações da Web a partir da página Home page de Administração Central, seleccionando uma aplicação Web da lista e, em seguida, clicando em Ligações a serviços no Friso. Não é possível alterar o grupo de ligação de aplicações de serviço predefinido através desta página, no entanto.
  2. Para adicionar uma ligação de aplicação de serviço a um grupo de ligação de aplicação de serviço utilizando o Windows PowerShell
Abra a Shell de gestão do SharePoint utilizando credenciais de administrador do farm de servidores e execute o seguinte comando de PowerShell:
Add-SPServiceApplicationProxyGroupMember [-Identity <the service application proxy group>] [-Member <members to add to the service application proxy group>]
Para mais informações sobre como adicionar ou remover ligações de aplicação de serviço a um grupo de ligação de aplicação de serviço, consulte Adicionar ou remover uma ligação de aplicação de serviço a uma aplicação Web (SharePoint Server 2010)