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

 

**Gilt für:**SharePoint Server 2013, SharePoint Server 2016

**Letztes Änderungsdatum des Themas:**2017-11-02

Zusammenfassung: Informationen zum Konfigurieren von Exchange AutoErmittlung zur Suche der SharePoint-URL „Meine Website“ eines Benutzers.

In SharePoint Server können Benutzer über Meine Website auf umfangreiche Funktionen für soziale Netzwerke und für die Zusammenarbeit zugreifen, mit denen die Freigabe von Inhalten, Diskussionen und andere Funktionen im Arbeitsalltag ermöglicht werden. 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 für eine einfachere, nahtlosere Konfigurationserfahrung bei einer Clientintegration von Meine Website für Office 2016 eingerichtet werden. Beispielsweise können die Office 2016-Apps für Clients und Mobiltelefone mithilfe der Exchange-AutoErmittlung Meine Website eines Benutzers anhand der Host-URL für „Meine Website“ ermitteln, die unter Active Directory-Domänendienste (AD DS) gespeichert wurde. Anstatt der Ermittlung und Eingabe der Host-URL für „Meine Website“ reichen E-Mail-Adresse und Kennwort zur Konfiguration und Bereitstellung der folgender Clientfunktionalität:

  • OneDrive for Business: Öffnen und Speichern eines Dokuments an Ihrem OneDrive for Business-Speicherort.

  • Zugriff auf einen Newsfeed auf einem Gerät.

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

Dieser Artikel enthält die notwendigen Schritte zum Aktualisieren von AD DS durch Ihre Host-URL für „Meine Website“ in SharePoint Server. Es wird erläutert, welche Schritte Sie durchführen müssen, um die aktuelle Host-URL für „Meine Website“ abzurufen oder zu löschen, falls Sie den aktuellen Wert einsehen bzw. ersetzen möchten.

Wichtig

Bevor Sie mit dem nächsten Abschnitt fortfahren, müssen Sie bereits die SharePoint Server- und Exchange Server 2013-Umgebungen installiert und konfiguriert haben Zusätzlich müssen Sie Meine Websites in SharePoint Server einrichten und konfigurieren. Weitere Informationen zur Implementierung von Meine Websites und zum Abrufen Ihrer Host-URL für „Meine Website“ finden Sie unter Konfigurieren von "Meine Websites" in SharePoint Server.

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

Zur Aktualisierung von AD DS mit der Host-URL für „Meine Website“ müssen Sie mithilfe der Exchange-Verwaltungsshell ein Skript auf einem Exchange Server-Computer ausführen. Dieses Verfahren hilft Ihnen beim Erstellen des PowerShell-Skripts und der anschließenden Ausführung des Skripts zur Aktualisierung von AD DS mit der angegebene URL. Unter diesem Verfahren finden Sie bei Bedarf auch die optionalen Schritte zum Überprüfen und Entfernen der Host-URL für „Meine Website“. 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 den Inhalt des folgenden Skripts in einen Editor auf einem Exchange Server 2013-Computer. Speichern Sie diese Datei an einem beliebigen Speicherort, und verwenden Sie die Erweiterung .ps1, damit sie als PowerShell-Skript erkannt wird. Benennen Sie die Datei abschließend in SetMySiteHostURLInAD.ps1 um.

    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 ""
    
  2. Öffnen Sie die Exchange-Verwaltungsshell.

  3. 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. Beispiel: Bei der Host-URL https://server/sites/contoso, sieht der Syntax in der Exchange-Verwaltungsshell möglicherweise folgendermaßen aus:

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

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

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

    Hinweis

    Optional können Sie die Host-URL für „Meine Website“ entfernen indem Sie den Befehl [PS] C:> c:\SetMySiteHostURLInAD.ps1 -remove eingeben.

Nach der Konfiguration der Host-URL für „Meine Website“ können Sie den Wert auf der SharePoint-Zentraladministrationswebsite prüfen. Navigieren Sie im Anwendungsmanagement zu Dienstanwendungen verwalten > Benutzerprofildienst-Anwendung (oder einem anderen Namen für die Benutzerprofildienst-Anwendung) > Einstellungen für „Meine Website“ > Meine Websites einrichten. Auf der Seite Einstellungen für „Meine Website“ werden Sie sehen, dass Ihr Eintrag im Feld Host-URL für „Meine Website“ in Active Directory angezeigt 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.

See also

Konfigurieren von "Meine Websites" in SharePoint Server