다음을 통해 공유


SharePoint Server의 내 사이트 호스트 URL로 Exchange 자동 검색 구성

적용 대상:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

SharePoint Server의 내 사이트에서는 콘텐츠 공유, 토론 및 사용자들이 작업을 수행할 수 있도록 하는 기타 기능을 허용하는 풍부한 소셜 네트워킹 및 공동 작업 기능을 제공합니다. Exchange Server 2013 자동 검색 서비스는 제공된 사용자 이름 및 암호에 따라 메일 클라이언트 및 모바일 장치의 프로필 설정을 구성합니다. 또한 Office 2016 클라이언트 통합을 위해 내 사이트에 대해 보다 간단하고 원활한 구성 환경이 가능하도록 자동 검색 서비스를 구성할 수도 있습니다. 예를 들어 Office 2016 클라이언트 및 모바일 휴대폰 앱은 Exchange 자동 검색을 사용하여 AD D(Active Directory 도메인 서비스)에 저장된 내 사이트 호스트 URL에 따라 사용자의 내 사이트를 찾을 수 있습니다. 다음에 대해 클라이언트 기능을 구성하고 프로비전하려는 경우 내 사이트 호스트 URL을 식별하고 입력하는 대신, 사용자의 전자 메일 주소와 암호만 있으면 됩니다.

  • Microsoft OneDrive - 문서를 열고 OneDrive 위치에 저장합니다.

  • 장치에서 뉴스 피드에 액세스합니다.

  • Office 허브 — Windows Phone에서 응용 프로그램을 설정합니다.

이 문서에서는 SharePoint Server에서 내 사이트 호스트 URL로 AD DS를 업데이트하는 데 필요한 단계를 제공합니다. 또한 현재 값을 확인하거나 바꾸어야 할 경우 현재 내 사이트 호스트 URL을 검색하거나 제거하는 데 필요한 단계도 자세히 설명합니다.

중요

다음 섹션을 계속 진행하기 전에 SharePoint Server 및 Exchange Server 2013 환경이 설치 및 구성되어 있어야 합니다. 또한 SharePoint Server에서 내 사이트를 설치 및 구성해야 합니다. 내 사이트를 구현하고 내 사이트 호스트 URL을 검색하는 방법에 대한 자세한 내용은 SharePoint Server에서 내 사이트 구성을 참조하세요.

내 사이트 호스트 URL로 Exchange 자동 검색 구성

내 사이트 호스트 URL로 AD DS를 업데이트하려면 Exchange 관리 셸을 사용하여 Exchange Server 컴퓨터에서 스크립트를 실행해야 합니다. 이 절차는 PowerShell 스크립트를 만든 다음, 이 스크립트를 실행하여 AD DS를 지정된 URL 값으로 업데이트하는 데 도움을 줍니다. 또한 이 절차에서는 필요한 경우 내 사이트 호스트 URL 항목을 확인하고 제거하기 위한 선택적 단계도 제공합니다. 스크립트를 실행하는 방법에 대한 자세한 내용은 Exchange Server 2013 기술 라이브러리에서 Exchange 관리 셸을 사용하여 스크립팅을 참조하세요.

내 사이트 호스트 URL을 사용하여 Exchange 자동 검색을 구성하려면

  1. Exchange Server 2013 컴퓨터에서 다음 스크립트의 내용을 메모장에 복사합니다. 이 파일을 원하는 위치에 저장하고 .ps1 확장자를 사용하여로 PowerShell 스크립트로 지정합니다. 마지막으로 파일의 이름을 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. Exchange 관리 셸을 엽니다.

  2. Exchange 관리 셸에서 스크립트를 저장한 디렉터리로 이동한 후 지정된 내 사이트 호스트 URL을 사용하여 스크립트를 실행합니다. 예를 들어 호스트 URL이 http://server/sites/contoso인 경우 Exchange 관리 셸에서 해당 구문은 다음과 같이 표시될 수 있습니다.

[PS] C:\>  c:\SetMySiteHostURLInAD.ps1      http://server/sites/contoso
  1. Enter 키를 눌러 스크립트를 실행하고 AD DS로 내 사이트 호스트 URL을 업데이트합니다.

  2. 올바른 URL이 업데이트되었는지 확인하려면 다음 명령을 실행합니다.

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

선택적으로 다음 명령을 입력하여 내 사이트 호스트 URL을 제거할 수 있습니다.

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

내 사이트 호스트 URL을 구성한 경우 SharePoint 중앙 관리 웹 사이트에서 해당 값을 확인할 수도 있습니다. 응용 프로그램 관리에서 서비스 응용 프로그램 관리, User Profile Service 응용 프로그램(또는 User Profile Service 응용 프로그램에 대해 선택한 다른 이름), 내 사이트 설정, 내 사이트 설정으로 차례로 이동합니다. 내 사이트 설정 페이지의 Active Directory의 내 사이트 호스트 URL이 사용자가 입력한 항목으로 채워집니다.

Active Directory의 내 사이트 호스트 URL

참고

Active Directory의 내 사이트 호스트 URL 필드는 중앙 관리를 통해 채울 수 없으며, 내 사이트 호스트 URL 값은 앞에 나온 자세한 프로세스를 통해 제공해야 합니다.

참고 항목

개념

SharePoint Server에서 내 사이트 구성