Freigeben über


Konfigurieren der Exchange-AutoErkennung mit einer Host-URL für „Meine Website“ in SharePoint Server

GILT FÜR:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

In SharePoint Server bietet eine "Meine Website" Benutzern umfangreiche Features für soziale Netzwerke und Zusammenarbeit, die die Freigabe von Inhalten, Diskussionen und andere Features für Benutzer ermöglichen, um ihre Aufgaben zu erledigen. Der Exchange Server 2013 AutoErmittlungsdienst konfiguriert Profileinstellungen auf E-Mail-Clients und mobilen Geräten basierend auf einem angegebenen Benutzernamen und Kennwort. Der AutoErmittlungsdienst kann auch so konfiguriert werden, dass eine einfachere, nahtlose Konfigurationsumgebung für die Clientintegration "Meine Website für Office 2016" ermöglicht wird. Beispielsweise können Office 2016-Client- und Mobiltelefon-Apps die Exchange-AutoErmittlung verwenden, um die "Meine Website" eines Benutzers basierend auf der Host-URL "Mein Standort" zu suchen, die in Active Directory Domain Services (AD DS) gespeichert ist. Anstatt die Host-URL für "Meine Website" zu identifizieren und einzugeben, sind die E-Mail-Adresse und das Kennwort eines Benutzers die einzigen Anforderungen zum Konfigurieren und Bereitstellen von Clientfunktionen für:

  • Microsoft OneDrive – Öffnen Sie ein Dokument, und speichern Sie es an Ihrem OneDrive-Speicherort.

  • Zugriff auf einen Newsfeed auf einem Gerät.

  • Office-Hub: Einrichten der Anwendung auf Ihrem Windows Phone.

Dieser Artikel enthält die erforderlichen Schritte zum Aktualisieren von AD DS mit Ihrer Host-URL für meine Website in SharePoint Server. Außerdem werden die Schritte erläutert, die zum Abrufen oder Entfernen der aktuellen Host-URL für meine Website erforderlich sind, wenn Sie den aktuellen Wert anzeigen oder ersetzen müssen.

Wichtig

Bevor Sie mit dem nächsten Abschnitt fortfahren, müssen Ihre SharePoint Server- und Exchange Server 2013-Umgebungen bereits installiert und konfiguriert sein. Darüber hinaus müssen Sie Meine Websites in SharePoint Server einrichten und konfigurieren. Weitere Informationen zum Implementieren von "Meine Websites" und zum Abrufen der Host-URL "Meine Website" finden Sie unter Konfigurieren von "Meine Websites" in SharePoint Server.

Konfigurieren der Exchange-AutoErmittlung mit einer Host-URL für „Meine Website“

Um AD DS mit der Host-URL für meine Website zu aktualisieren, müssen Sie ein Skript auf einem Exchange Server-Computer mithilfe der Exchange-Verwaltungsshell ausführen. Dieses Verfahren hilft Ihnen beim Erstellen des PowerShell-Skripts und anschließenden Ausführen des Skripts, um AD DS mit dem angegebenen URL-Wert zu aktualisieren. Dieses Verfahren enthält auch die optionalen Schritte zum Überprüfen und Entfernen eines Eintrags "Host-URL für meine Website", falls erforderlich. Weitere Informationen zum Ausführen von Skripts finden Sie unter Skripterstellung mit der Exchange-Verwaltungsshell in der technischen Bibliothek für Exchange Server 2013.

So konfigurieren Sie die Exchange-AutoErmittlung mit einer Host-URL für „Meine Website“

  1. Kopieren Sie auf einem Exchange Server 2013-Computer den Inhalt des folgenden Skripts in Editor. Speichern Sie diese Datei an einem beliebigen Speicherort, und verwenden Sie eine .ps1 Erweiterung, um sie als PowerShell-Skript festzulegen. Benennen Sie schließlich die Datei SetMySiteHostURLInAD.ps1um.
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. Öffnen der Exchange-Verwaltungsshell

  2. Navigieren Sie in der Exchange-Verwaltungsshell zu dem Verzeichnis, in dem Sie das Skript gespeichert haben, und führen Sie das Skript mit der angegebenen Host-URL für Meine Website aus. Wenn Sie beispielsweise über eine Host-URL verfügen http://server/sites/contoso, könnte die Syntax in der Exchange-Verwaltungsshell wie folgt aussehen:

[PS] C:\>  c:\SetMySiteHostURLInAD.ps1      http://server/sites/contoso
  1. Drücken Sie zum Ausführen des Skripts die EINGABETASTE, und aktualisieren Sie AD DS mit der HOST-URL für „Meine Website“.

  2. Überprüfen Sie mit dem folgenden Befehl, ob die richtige URL aktualisiert wurde:

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

Optional können Sie die Host-URL für „Meine Website“ entfernen, indem Sie den folgenden Befehl eingeben:

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

Nachdem Sie die Host-URL für meine Website konfiguriert haben, können Sie den Wert auch auf der Website der SharePoint-Zentraladministration überprüfen. Wechseln Sie in der Anwendungsverwaltung zu Dienstanwendungen verwalten, zu Benutzerprofildienstanwendung (oder einem anderen ausgewählten Namen für die Benutzerprofildienstanwendung), zu Einstellungen für meine Website und schließlich zu Meine Websites einrichten. Auf der Seite Einstellungen für meine Website sehen Sie, dass das Feld Host-URL für meine Website in Active Directory mit Ihrem Eintrag aufgefüllt wird.

Host-URL für „Meine Website“ in Active Directory

Hinweis

Das Feld Host-URL für „Meine Website“ in Active Directory kann nicht über die Zentraladministration aufgefüllt werden, und der Wert für Host-Wert für „Meine Website“ muss über den oben erläuterten Prozess angegeben werden.

Siehe auch

Konzepte

Konfigurieren von "Meine Websites" in SharePoint Server