Configurar a Descoberta Automática do Exchange com uma URL de Host do Meu Site no SharePoint Server
APLICA-SE A:2013 2016 2019 Subscription Edition SharePoint no Microsoft 365
No SharePoint Server, um Meu Site concede aos usuários recursos avançados de redes sociais e de colaboração que permitem o compartilhamento de conteúdo, discussões e outras funcionalidades para que os usuários possam realizar seu trabalho. O serviço de Descoberta Automática do Exchange Server 2013 configura as definições de perfil nos clientes de email e em dispositivos móveis com base nas informações de nome de usuário e senha fornecidas. O serviço de Descoberta Automática também pode ser configurado para considerar uma experiência de configuração mais simples e perfeita para uma integração do cliente do Meu Site para Office 2016. Por exemplo, os aplicativos cliente e de dispositivo móvel do Office 2016 podem usar a Descoberta Automática do Exchange para encontrar o Meu Site de um usuário com base na URL de Host do Meu Site armazenada nos Active Directory Domain Services (AD DS). Em vez de identificar e inserir a URL de Host do Meu Site, o endereço de email do usuário e senha são os únicos requisitos para configurar e provisionar a funcionalidade de cliente para:
Microsoft OneDrive – abra e guarde um documento na sua localização do OneDrive.
Acessar um News feed em um dispositivo.
Hub do Office — Configurar o aplicativo no seu Windows Phone.
Este artigo apresenta as etapas necessárias para atualizar os AD DS com a URL de Host do Meu Site no SharePoint Server. O artigo também fornece detalhes sobre as etapas necessárias para recuperar ou remover a URL atual de Host do Meu Site, caso precise ver o valor atual ou substituí-lo respectivamente.
Importante
[!IMPORTANTE] Antes de prosseguir para a próxima seção, os ambientes do SharePoint Server e do Exchange Server 2013 já devem estar instalados e configurados. Além disso, é necessário instalar e configurar o Meus Sites no SharePoint Server. Para saber mais sobre como implementar o Meus Sites e recuperar a URL de Host do Meu Site, confira Configurar Meus Sites no SharePoint Server.
Configurar a Descoberta Automática do Exchange com uma URL de Host do Meu Site
Para atualizar os AD DS com a URL de Host do Meu Site, você precisa executar um script em um computador com o Exchange Server, usando o Shell de Gerenciamento do Exchange. Este procedimento irá ajuda-lo a criar o script do PowerShell e a executar o script para atualizar os AD DS com o valor de URL especificado. O procedimento também apresenta as etapas opcionais para verificar e remover uma entrada de URL de Host do Meu Site, se necessário. Confira mais informações sobre como executar scripts no artigo Script com o Shell de Gerenciamento do Exchange na Biblioteca de Técnica do Exchange Server 2013.
Configurar a Descoberta Automática do Exchange com uma URL de Host do Meu Site
- Em um computador com o Exchange Server 2013, copie o conteúdo do seguinte script para Bloco de Notas. Salve esse arquivo em qualquer local e use a extensão .ps1 designá-lo como um script do PowerShell. Por fim, renomeie o arquivo 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 o Shell de Gerenciamento do Exchange.
No Shell de Gerenciamento do Exchange, acesse o diretório em que você salvou o script e execute o script com a URL de Host especificada do Meu Site. Por exemplo, se você tiver uma URL de host do http://server/sites/contoso, a sintaxe pode se parecer com a seguinte, no Shell de Gerenciamento do Exchange:
[PS] C:\> c:\SetMySiteHostURLInAD.ps1 http://server/sites/contoso
Pressione ENTER para executar o script e atualize os AD DS com a URL de Host do Meu Site.
Para verificar se a URL correta foi atualizada, execute o seguinte comando:
[PS] C:\> c:\SetMySiteHostURLInAD.ps1 -get
Outra opção é remover uma URL de Host do Meu Site inserindo o comando:
[PS] C:\> c:\SetMySiteHostURLInAD.ps1 -remove
Depois de configurar a URL de Host do Meu Site, também é possível verificar o valor no site de Administração Central do SharePoint. Do Gerenciamento de Aplicativos, vá até Gerenciar Aplicativos de Serviço, depois para Aplicativo de Serviço de Perfil de Usuário (ou outro nome escolhido para o Aplicativo de Serviço de Perfil de Usuário), para Configurações do Meu Sitee, finalmente para Configurar Meus Sites. Na página Configurações do Meu Site, você verá que o campo da URL de Host do Meu Site no Active Directory está preenchido com sua entrada.
Observação
O campo da URL de Host do Meu Site no Active Directory não pode ser preenchido por meio da Administração Central, e o valor da URL de Host do Meu Site deve ser fornecido por meio do processo detalhado anteriormente.