Condividi tramite


Configurare l'individuazione automatica di Exchange con un URL host siti personali in SharePoint Server

 

**Si applica a:**SharePoint Server 2013, SharePoint Server 2016

**Ultima modifica dell'argomento:**2017-11-02

Sintesi: informazioni su come configurare l'individuazione automatica di Exchange per trovare l'URL del sito personale di SharePoint di un utente

In SharePoint Server, un Sito personaleoffre agli utenti funzionalità interessanti di social networking e collaborazione che consentono la condivisione di contenuti, discussioni e altre funzionalità che gli utenti possono usare per lavorare. Il servizio di individuazione automatica di Exchange Server 2013 configura le impostazioni del profilo nei client di posta elettronica e nei dispositivi mobili in base a un nome utente e a una password forniti. Il servizio di individuazione automatica può inoltre essere configurato per consentire un'esperienza di configurazione più semplice e uniforme per Sito personale per l'integrazione di client Office 2016. Ad esempio, le applicazioni client Office 2016 e per telefoni cellulari utilizzano l'individuazione automatica di Exchange per trovare il Sito personale di un utente in base all'URL host siti personali archiviato in Active Directory Domain Services (AD DS). Invece di identificare e immettere l'URL host siti personali, un indirizzo di posta elettronica e una password dell'utente sono gli unici requisiti per configurare e fornire funzionalità client per:

  • OneDrive for Business — Aprire e salvare un documento nel percorso OneDrive for Business.

  • Accedere a un Newsfeed in un dispositivo.

  • Hub Office — Configurare l'applicazione nel Windows Phone.

In questo articolo sono illustrati i passaggi necessari per aggiornare AD DS con l'URL host siti personali in SharePoint Server. Inoltre, descrive nel dettaglio i passaggi necessari per recuperare o rimuovere l'URL host siti personali se è necessario visualizzare il valore corrente o sostituirlo.

Importante

Prima di procedere alla sezione successiva, è necessario avere già SharePoint Server e gli ambienti di Exchange Server 2013 installati e configurati. Inoltre, è necessario installare e configurare Siti personali in SharePoint Server. Per ulteriori informazioni su come implementare Siti personali e recuperare l'URL host siti personali, vedere Configurare i siti personali in SharePoint Server.

Configurare l'individuazione automatica di Exchange con un URL host siti personali

Per aggiornare Active Directory con l'URL Host siti personali, eseguire uno script in un computer Exchange Server tramite Exchange Management Shell. Questa procedura consente di creare lo script PowerShell, quindi eseguire lo script per aggiornare AD DS con il valore URL specificato. Questa procedura illustra anche passaggi facoltativi per verificare e rimuovere una voce URL host siti personali se necessario. Per ulteriori informazioni sull'esecuzione di script, vedere Esecuzione di script con Exchange Management Shell nella raccolta di documentazione tecnica di Exchange Server 2013.

Per configurare l'individuazione automatica di Exchange con un URL host siti personali

  1. In un computer Exchange Server 2013, copiare i contenuti del seguente script nel Blocco note. Salvare il file in qualsiasi percorso e usare un'estensione .ps1 per specificarlo come script PowerShell. Infine, rinominare il file SetMySiteHostURLInAD.ps1.

    function PrintUsage
    {
    @"
    
    NAME:
    SetMySiteHostURLInAD.ps1
    
    SYNOPSIS:
    The purpose of this script is to set My Site Host URL in Active Directory.
    This URL will be returned through Exchange Autodiscover.
    
    MySiteHostURL - URL of My Site Host to set in Active Directory.
    Or use -get to get My Site Host URL from Active Directory.
    Or use -remove to remove My Site Host URL from Active Directory.
    
    SYNTAX:
    SetMySiteHostURLInAD.ps1 "MySiteHostURL" | -get | -remove
    
    EXAMPLES:
    SetMySiteHostURLInAD.ps1 "http://my"
    SetMySiteHostURLInAD.ps1 -get
    SetMySiteHostURLInAD.ps1 -remove
    
    "@
    }
    
    function GetConfigurationNamingContextPath
    {
        return GetEntryProperty "LDAP://RootDSE" "configurationNamingContext"
    }
    
    function GetExchangePath
    {
        param([string]$configurationNamingContextPath)
    
        return "LDAP://CN=Microsoft Exchange,CN=Services," + $configurationNamingContextPath
    }
    
    function GetOrganizationContainerPath
    {
        param([string]$exchangePath)
    
        [string]$organizationContainerPath = ""
    
        ([ADSI] $exchangePath).Children | foreach {
          if (!$organizationContainerPath -and $_.SchemaClassName -eq "msExchOrganizationContainer") {
             $organizationContainerPath = $_.Path
                }
        }
    
        return $organizationContainerPath
    }
    
    function GetEntryProperty
    {
        param([string]$entryPath, [string]$propertyName)
    
        $entry = [ADSI] $entryPath
    
        [string]$value = ""
    
        trap {
             continue
        }
    
        $value = $entry.Get($propertyName)
    
        return $value
    }
    
    function SetEntryProperty
    {
        param([string]$entryPath, [string]$propertyName, [string]$propertyValue)
    
        $entry = [ADSI] $entryPath
    
        if (!$propertyValue)
        {
            $entry.PutEx(1, $propertyName, $null)
        }
        else
        {
            $entry.Put($propertyName, $propertyValue)
        }
    
        trap {
            Write-Host "`nError setting property" -ForegroundColor Red
            continue
        }
    
        $entry.SetInfo()
    }
    
    function AddOrReplaceOrRemoveMySiteHostURL
    {
        param([string]$old, [string]$url)
    
        [string]$separator = ";"
        [string]$label = "SPMySiteHostURL" + $separator
    
        if (!$old)
          {
             if (!$url)
                {
                  return ""
                }
             else
                {
                  return $label + $url
                }
          }
    
        [int]$labelPosition = $old.IndexOf($label)
        if ($labelPosition -eq -1)
          {
             if (!$url)
                {
                  return $old
                }
             else
                {
                  if ($old[$old.Length - 1] -eq $separator)
                  {
                  return $old + $label + $url
                  }
                  else
                  {
            return $old + $separator + $label + $url
                  }
                }
            }
    
        [int]$valuePosition = $labelPosition + $label.Length
    
        [int]$nextLabelPosition = $old.IndexOf($separator, $valuePosition)
         if ($nextLabelPosition -eq -1)
           {
             if (!$url)
             {
                  if ($labelPosition -eq 0)
                  {
                     return ""
                  }
                  else
                  {
                     return $old.Substring(0, $labelPosition - 1)
                  }
              }
             else
             {
                  return $old.Substring(0, $valuePosition) + $url
             }
          }
    
         if (!$url)
           {
              return $old.Substring(0, $labelPosition) + $old.Substring($nextLabelPosition + 1)
           }
          else
           {
              return $old.Substring(0, $valuePosition) + $url + $old.Substring($nextLabelPosition)
           }
    }
    
    if ($args.Count -ne 1)
    {
        Write-Host "`nError: Required argument missing or too many arguments" -ForegroundColor Red
        PrintUsage
        exit
    }
    
    if ($args[0] -eq "-?" -or $args[0] -eq "-h" -or $args[0] -eq "-help")
    {
        PrintUsage
        exit
    }
    
    [string]$url = ""
    if ($args[0] -ne "-r" -and $args[0] -ne "-remove")
    {
        $url = $args[0]
    }
    
    Write-Host "`nSetting My Site Host URL in Active Directory..."
    
    [string]$configurationNamingContextPath = GetConfigurationNamingContextPath
    Write-Host "`nConfiguration Naming Context path: $configurationNamingContextPath"
    
    [string]$exchangePath = GetExchangePath $configurationNamingContextPath
    Write-Host "`nExchange path: $exchangePath"
    
    [string]$organizationContainerPath = GetOrganizationContainerPath $exchangePath
    Write-Host "`nOrganization Container path: $organizationContainerPath"
    
    [string]$propertyName = "msExchServiceEndPointURL"
    Write-Host "`nProperty name: $propertyName"
    
    [string]$old = GetEntryProperty $organizationContainerPath $propertyName
    Write-Host "`nOld value: $old"
    
    if (!$url)
    {
        Write-Host "`nRemoving value"
    }
    elseif ($url -eq "-g" -or $url -eq "-get")
    {
        Write-Host ""
        exit
    }
    else
    {
        Write-Host "`nAdding or replacing value: $url"
    }
    
    [string]$new = AddOrReplaceOrRemoveMySiteHostURL $old $url
    Write-Host "`nNew value: $new"
    
    SetEntryProperty $organizationContainerPath $propertyName $new
    Write-Host ""
    
  2. Aprire Exchange Management Shell.

  3. In Exchange Management Shell, passare alla directory in cui è stato salvato lo script ed eseguire lo script con l'URL host siti personali specificato. Ad esempio, se si dispone di un URL host di https://server/sites/contoso, la sintassi potrebbe avere il seguente aspetto in Exchange Management Shell:

    [PS] C:\>  c:\SetMySiteHostURLInAD.ps1      https://server/sites/contoso
    
  4. Premere INVIO per eseguire lo script e aggiornare AD DS con l'URL host siti personali https://server/sites/contoso.

  5. Per verificare che l'URL corretto è stato aggiornato, eseguire il seguente comando:

    [PS] C:\>  c:\SetMySiteHostURLInAD.ps1      -get
    

    Nota

    In alternativa, è possibile rimuovere l'URL host siti personali immettendo il comando [PS] C:> c:\SetMySiteHostURLInAD.ps1 -remove.

Dopo aver configurato l'URL host siti personali, è anche possibile verificare il valore nel sito Web Amministrazione centrale SharePoint. Da Gestione applicazione, andare a Gestisci applicazioni di servizio, in Applicazione servizio profili utente (o altro nome scelto per Applicazione servizio profili utente), in Impostazioni sito e infine in Imposta siti personali. Nella pagina Impostazioni sito il campo URL host siti personali in Active Directory verrà popolato con la propria voce.

My Site Host URL in Active Directory

Nota

Il campo URL host siti personali in Active Directory non può essere popolato da Amministrazione centrale e il valore di URL host siti personali deve essere fornito utilizzando la seguente procedura dettagliata.

See also

Configurare i siti personali in SharePoint Server