Partager via


Configurer la découverte automatique d’Exchange avec une URL d’hôte Mon site dans SharePoint Server

S’APPLIQUE À :oui-img-132013 oui-img-162016 oui-img-192019 oui-img-seÉdition d’abonnement no-img-sopSharePoint dans Microsoft 365

Dans SharePoint Server, un site Mon site permet aux utilisateurs d'enrichir les fonctionnalités de réseau social et de collaboration qui activent le partage de contenu, les discussions et d'autres fonctionnalités pour que les utilisateurs puissent effectuer leurs tâches. Le service de découverte automatique Exchange Server 2013 configure les paramètres de profil sur les clients de messagerie et les appareils mobiles à partir du nom d'utilisateur et du mot de passe fournis. Le service de découverte automatique peut également être configuré pour autoriser une expérience de configuration de Mon site plus simple et transparente pour l'intégration d'un client Office 2016. Par exemple, des applications client et de téléphone mobile Office 2016 peuvent utiliser la découverte automatique d'Exchange pour rechercher le site Mon site d'un utilisateur en fonction de l'URL d'hôte Mon site stockée dans Active Directory Domain Services (AD DS). Au lieu d'identifier et de saisir l'URL d'hôte Mon site, l'adresse de messagerie et le mot de passe d'un utilisateur sont les seules conditions requises pour la configuration et la mise en service des fonctionnalités de client pour :

  • Microsoft OneDrive : ouvrez et enregistrez un document dans votre emplacement OneDrive.

  • Accédez à un flux d’actualités sur un appareil.

  • Hub Office : configurez l’application sur votre Windows Phone.

Cet article décrit les étapes nécessaires pour mettre à jour les services AD DS avec votre URL d'hôte Mon site dans SharePoint Server. Il décrit également les étapes nécessaires pour récupérer ou supprimer l'URL d'hôte Mon site actuel si vous avez besoin d'afficher la valeur actuelle ou de la remplacer.

Importante

Avant de passer à la section suivante, vous devez déjà avoir installé et configuré vos environnements SharePoint Server et Exchange Server 2013. En outre, vous devez installer et configurer Mes sites dans SharePoint Server. Pour plus d'informations sur l'implémentation de Mes sites et la récupération de l'URL d'hôte de Mon site, reportez-vous à Configurer les sites Mon site dans SharePoint Server.

Configurer la découverte automatique d’Exchange avec une URL d’hôte Mon site

Pour mettre à jour les services AD DS avec l'URL d'hôte Mon site, vous devez exécuter un script sur un ordinateur Exchange Server à l'aide d'Exchange Management Shell. Cette procédure vous permet de créer le script PowerShell et d'exécuter le script pour mettre à jour les services AD DS avec la valeur d'URL spécifiée. Cette procédure décrit également les étapes facultatives pour vérifier et supprimer une entrée de l'URL d'hôte Mon site si nécessaire. Pour plus d'informations sur l'exécution de scripts, voir Scripts dans Exchange Management Shell dans la bibliothèque technique Exchange Server 2013.

Pour configurer la découverte automatique d'Exchange avec une URL d'hôte Mon site

  1. Sur un ordinateur Exchange Server 2013, copiez le contenu du script suivant dans le Bloc-notes. Enregistrez ce fichier sur n'importe quel emplacement et utilisez une extension .ps1 pour le désigner comme étant un script PowerShell. Enfin, renommez le fichier 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. Ouvrez l'environnement de ligne de commande Exchange Management Shell.

  2. Dans Exchange Management Shell, accédez au répertoire où vous avez enregistré le script et exécutez le script avec votre URL d'hôte Mon Site spécifiée. Par exemple, si vous avez une URL d'hôte de http://server/sites/contoso, la syntaxe peut ressembler à ce qui suit dans Exchange Management Shell :

[PS] C:\>  c:\SetMySiteHostURLInAD.ps1      http://server/sites/contoso
  1. Appuyez sur ENTRÉE pour exécuter le script et mettre à jour les services AD DS avec l'URL d'hôte Mon site.

  2. Pour vérifier que l’URL correcte a été mise à jour, exécutez la commande suivante :

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

Si vous le souhaitez, vous pouvez supprimer une URL d’hôte Mon site en entrant la commande suivante :

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

Une fois que vous avez configuré l'URL d'hôte Mon site, vous pouvez également vérifier la valeur dans le site Web Administration centrale de SharePoint. À partir de Gestion des applications, accédez à Gérer les applications de service, Application de service de profil utilisateur (ou autre nom choisi pour l'Application de service de profil utilisateur), Paramètres du site Mon site et enfin Configurer Mes sites. Dans la page Paramètres du site Mon site, vous verrez que l' URL de l'hôte Mon site dans Active Directory est renseignée avec votre entrée.

URL de l’hôte Mon site dans Active Directory

Remarque

Le champ URL de l'hôte Mon site dans Active Directory ne peut pas être rempli dans l'Administration centrale, et la valeur de l'URL de l'hôte Mon site doit être fournie à l'aide de la procédure détaillée précédente.

Voir aussi

Concepts

Configurer les sites Mon site dans SharePoint Server