Configurar la detección automática de Exchange con una dirección URL del host de Mi sitio en SharePoint Server
SE APLICA A:2013 2016 2019 Subscription Edition SharePoint 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
- 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 ""
Abra el Shell de administración de Exchange.
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
Presione ENTRAR para ejecutar el script y actualizar AD DS con la dirección URL del host de Mi sitio.
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.
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.