none
[Sharepoint 2010] UserProfile e mappatura campi RRS feed

  • Domanda

  • Salve a tutti,

    avrei l'esigenza di mappare una custom property dell'user profile di Sharepoint 2010 con il campo AD "OtherHomePhone". 

    Ho cercato in lungo e largo senza trovare soluzioni, avreste qualche suggerimento da darmi?

    Grazie mille :)

    AM


    mercoledì 22 maggio 2013 13:59

Risposte

  • Ciao a tutti,

    sono riuscito a risolvere il problema ! :)

    Per mappare un campo di Active Directory non presente nella lista offerta da sharepoint nella relativa maschera (Es. OtherHomePhone) è possibile usare il seguente codice PowerShell : 

    $url = "http:// .... " #URL si un qualsiasi sito abbinato all'user profile service
    $spsProperty = "PropertySP" #nome della proprietà dell'user profile 
    $fimProperty = "AttributeSP" #Nome dell'attributo presente in FIM/LDAP 
    $connectionName = "LDAP" #Nome della connessione usato per la sincronizzazione
    
    $site = Get-SPSite $url
    
    if ($site) 
    {Write-Host "Successfully obtained site reference!"} 
    else 
    {Write-Host "Failed to obtain site reference"}
    
    $serviceContext = Get-SPServiceContext($site)
    
    if ($serviceContext) 
    {Write-Host "Successfully obtained service context!"} 
    else 
    {Write-Host "Failed to obtain service context"} 
    $upManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($serviceContext)
    
    if ($upManager) 
    {Write-Host "Successfully obtained user profile manager!"} 
    else 
    {Write-Host "Failed to obtain user profile manager"} 
    $synchConnection = $upManager.ConnectionManager[$connectionName]
    
    if ($synchConnection) 
    {Write-Host "Successfully obtained synchronization connection!"} 
    else 
    {Write-Host "Failed to obtain user synchronization connection!"}
    
    Write-Host "Adding the attribute mapping..." 
    $synchConnection.PropertyMapping.AddNewMapping([Microsoft.Office.Server.UserProfiles.ProfileType]::User, $spsProperty, $fimProperty) 
    Write-Host "Done!"

    Spero di essere utile a qualcuno che affronterà lo stesso problema.

    Ciao

    AM

    lunedì 3 giugno 2013 09:30

Tutte le risposte

  • Ciao AM,

    devi creare una nuova proprietà utente, che chiami come vuoi, mappata su OtherHomePhone: http://technet.microsoft.com/en-us/library/cc262327(v=office.14).aspx

    Ciao


    Pat -- http://patriziamonti.wordpress.com

    venerdì 24 maggio 2013 22:54
  • Ciao AM,

    devi creare una nuova proprietà utente, che chiami come vuoi, mappata su OtherHomePhone: http://technet.microsoft.com/en-us/library/cc262327(v=office.14).aspx

    Ciao


    Pat -- http://patriziamonti.wordpress.com

    Ciao Patrizia,

    grazie per la risposta ma non sono riuscito a spiegarmi bene :)

    La proprietà l'avevo già creata nell'userprofile ma tra i campi AD non mi compare (M)OtherHomePhone e quindi non riesco a creare la mappatura. Ti/Vi chiedo se avete mai affrontato una situazione simile.

    Ho provato a creare un'altra connessione con AD e a fare un FULL IMPORT ma senza trovare soluzioni.

    Grazie

    AM

    lunedì 27 maggio 2013 10:25
  • Ciao a tutti,

    sono riuscito a risolvere il problema ! :)

    Per mappare un campo di Active Directory non presente nella lista offerta da sharepoint nella relativa maschera (Es. OtherHomePhone) è possibile usare il seguente codice PowerShell : 

    $url = "http:// .... " #URL si un qualsiasi sito abbinato all'user profile service
    $spsProperty = "PropertySP" #nome della proprietà dell'user profile 
    $fimProperty = "AttributeSP" #Nome dell'attributo presente in FIM/LDAP 
    $connectionName = "LDAP" #Nome della connessione usato per la sincronizzazione
    
    $site = Get-SPSite $url
    
    if ($site) 
    {Write-Host "Successfully obtained site reference!"} 
    else 
    {Write-Host "Failed to obtain site reference"}
    
    $serviceContext = Get-SPServiceContext($site)
    
    if ($serviceContext) 
    {Write-Host "Successfully obtained service context!"} 
    else 
    {Write-Host "Failed to obtain service context"} 
    $upManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($serviceContext)
    
    if ($upManager) 
    {Write-Host "Successfully obtained user profile manager!"} 
    else 
    {Write-Host "Failed to obtain user profile manager"} 
    $synchConnection = $upManager.ConnectionManager[$connectionName]
    
    if ($synchConnection) 
    {Write-Host "Successfully obtained synchronization connection!"} 
    else 
    {Write-Host "Failed to obtain user synchronization connection!"}
    
    Write-Host "Adding the attribute mapping..." 
    $synchConnection.PropertyMapping.AddNewMapping([Microsoft.Office.Server.UserProfiles.ProfileType]::User, $spsProperty, $fimProperty) 
    Write-Host "Done!"

    Spero di essere utile a qualcuno che affronterà lo stesso problema.

    Ciao

    AM

    lunedì 3 giugno 2013 09:30
  • Ciao Aniello, grazie per aver condiviso lo script.

    Ciao


    Pat -- http://patriziamonti.wordpress.com

    lunedì 3 giugno 2013 19:14