Condividi tramite


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

SI APPLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

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:

  • Microsoft OneDrive: aprire e salvare un documento nel percorso di OneDrive.

  • 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

[!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 ""
  1. Aprire Exchange Management Shell.

  2. 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 http://server/sites/contoso, la sintassi potrebbe avere il seguente aspetto in Exchange Management Shell:

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

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

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

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.

URL host siti personali 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.

Vedere anche

Concetti

Configurare i siti personali in SharePoint Server