Compartir a través de


Configurar la detección automática de Exchange con una dirección URL del host de Mi sitio en SharePoint Server

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

En SharePoint Server, mi sitio proporciona a los usuarios características de colaboración y redes sociales enriquecidas que permiten el uso compartido de contenido, discusiones y otras características para que los usuarios realicen su trabajo. El servicio Detección automática de Exchange Server 2013 configura los valores de perfil en los clientes de correo y dispositivos móviles en función de un nombre de usuario y una contraseña proporcionados. El servicio de detección automática también se puede configurar para permitir una experiencia de configuración más sencilla y sin problemas en una integración de cliente de Mi sitio para Office 2016. Por ejemplo, las aplicaciones de cliente y teléfono móvil de Office 2016 pueden usar la detección automática de Exchange para buscar mi sitio de un usuario en función de la dirección URL del host de mi sitio almacenada en Active Directory Domain Services (AD DS). En lugar de identificar y escribir la dirección URL del host de Mi sitio, la dirección de correo electrónico y la contraseña de un usuario son los únicos requisitos para configurar y aprovisionar la funcionalidad del cliente para:

  • Microsoft OneDrive: abra y guarde un documento en la ubicación de OneDrive.

  • Acceder a un suministro de noticias desde un dispositivo.

  • Hub de Office: Configurar la aplicación en Windows Phone.

En este artículo se indican los pasos necesarios para actualizar AD DS con su dirección URL del host de Mi sitio en SharePoint Server. También se detallan los pasos necesarios para recuperar o quitar la URL actual del host de Mi sitio si tiene que ver o reemplazar el valor actual, respectivamente.

Importante

Antes de continuar con la sección siguiente, ya debe tener instalados y configurados los entornos de SharePoint Server y Exchange Server 2013. Además, debe configurar Mis sitios en SharePoint Server. Para obtener más información sobre cómo implementar Mis sitios y recuperar la dirección URL del host de Mi sitio, vea Configurar mis sitios en SharePoint Server.

Configurar la detección automática de Exchange con una dirección URL del host de Mi sitio

Para actualizar AD DS con la dirección URL del host de mi sitio, debe ejecutar un script en un equipo de Exchange Server mediante el Shell de administración de Exchange. Este procedimiento le ayuda a crear el script de PowerShell y, a continuación, a ejecutar el script para actualizar AD DS con el valor de dirección URL especificado. Este procedimiento también proporciona los pasos opcionales para comprobar y quitar una entrada de dirección URL del host de Mi sitio, si es necesario. Para obtener más información sobre cómo ejecutar scripts, vea Scripting con el Shell de administración de Exchange en la biblioteca técnica de Exchange Server 2013.

Para configurar la detección automática de Exchange con una dirección URL del host de Mi sitio

  1. En un equipo de Exchange Server 2013, copie el contenido del siguiente script en el Bloc de notas. Guarde este archivo en cualquier ubicación y use una extensión de .ps1 para designarlo como script de PowerShell. Por último, cambie el nombre del archivo a 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. Abra el Shell de administración de Exchange.

  2. En el Shell de administración de Exchange, navegue hasta el directorio donde guardó el script y ejecútelo con la dirección URL del host de Mi sitio especificada. Por ejemplo, si tiene una dirección URL de host de http://server/sites/contoso, la sintaxis podría ser similar a la siguiente en el Shell de administración de Exchange:

[PS] C:\>  c:\SetMySiteHostURLInAD.ps1      http://server/sites/contoso
  1. Presione ENTRAR para ejecutar el script y actualizar AD DS con la dirección URL del host de Mi sitio.

  2. Ejecute el comando siguiente para comprobar que se actualizó la dirección URL correcta:

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

De manera opcional, puede quitar una dirección URL del host de Mi sitio si escribe este comando:

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

Cuando haya configurado la dirección URL del host de Mi sitio, también puede comprobar el valor en el sitio web de Administración central de SharePoint. En Administración de aplicaciones, vaya a Administrar aplicaciones de servicio, a Aplicación de servicio de perfiles de usuario (o el nombre elegido para la aplicación de servicio de perfiles de usuario), a Configuración de Mi sitio y, finalmente, a Configurar Mis sitios. En la página Configuración de Mi sitio, verá que el campo URL del host de Mi sitio en Active Directory se rellena con la entrada.

URL del host de Mi sitio en Active Directory

Nota:

El campo URL del host de Mi sitio en Active Directory no se puede rellenar a través de Administración central y el valor URL del host de Mi sitio se debe suministrar mediante el proceso detallado anteriormente.

Consulte también

Conceptos

Configurar Mis sitios en SharePoint Server