none
Warum befüllt Sharepoint 2010 das Attribut "Webseite" nicht mit der Mysite-URL? RRS feed

  • Frage

  • Zu Zeiten von Office/Sharepoint 2007 erschien, sobald ein Benutzer seine Mysite auf dem Sharepoint angelegt hatte, automatisch die URL der Mysite im Attribut "Webseite" (wwwHomePage) des betreffenden Benutzerkontos.
    Seit wir auf Office/Sharepoint 2010 umgestiegen sind bleibt das "Webseite"-Attribut einfach leer oder der URL zeigt noch auf die Mysite des Sharepoint 2007.

    Woran liegt das bzw. wie bewege ich Sharepoint (oder doch Office?) 2010 dazu das "Webseite"-Attribut zu befüllen?

     


    Peter
    Dienstag, 29. März 2011 20:08

Antworten

  • Hallo Peter,

    OOB fällt mir leider dazu nichts ein. Als Workaround könntest Du aber folgendes nutzten:

    In diesem Thread habe ich ein PowerShell Skript geschrieben wie man die Eigenschaft (im Beispiel PictureURL) eines Benutzerprofils aktualisiert. Diesen könntest Du für Deinen Zweck folgendermaßen nutzen:

    1. Erstelle eine neue SharePoint Benutzerprofil-Eigenschaft über die Zentral Administration. Nenne wir diese z.B. "MySiteURL".
    2. Angepassten Skript im SharePoint Management Shell ausführen, um die MySiteURL mit der vollständigen URL zu aktualisieren:

      #Add-PSSnapin Microsoft.SharePoint.Powershell
      
      [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
      [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")
      
      $s = Get-SPSite "<my site URL>"
      $c = Get-SPServiceContext $s
      
      $profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($c)
      
      $profiles = $profileManager.GetEnumerator();
      
      foreach ($profile in $profiles)
      {
        $shorturl=$profile[[Microsoft.Office.Server.UserProfiles.PropertyConstants]::PersonalSpace].Value;
      
        if($shorturl -ne $null) 
        { 
          $profile["MySiteUrl"].Value = $s.Url+$shorturl;
          $profile.Commit();
        }
      }
      
    3. Das PowerShell Skript als zeitgesteurten Task auf dem Server hinterlegen.
    4. Die aktualisierte Profileigenschaft lässt Du anschließend über "Export" und wwwHomePage mit AD synchronisieren

    Hoffe das hilft.

    Gruß,
    Andrei

    Montag, 4. April 2011 11:18

Alle Antworten

  • Hallo Peter,

    in SharePoint 2010 wir das wwwHomePage Attribut standardmäßig aus AD in SharePoint importiert:

    Die Personal Site Eigenschaft enthält einen relativen Pfad zur MySite Webanwendung. Diese Information könntest Du nutzen, um das wwwHomePage Attribut von SharePoint aus zu aktualisieren (Direction Export).

    Gruß,
    Andrei

    Mittwoch, 30. März 2011 12:33
  • Hallo Andrei,

    das hatte ich auch schon mal versucht. Allerdings kam bei dem Export von der Personal Site-Eigenschaft nach wWWHomepage nur ein "/personal/benutzername" im AD an. Hast Du oder jemand anders Informationen darüber, ob und wie man den Export ggfs. im "Synchronization Service Manager" oder wo anders so erweitern/manipulieren kann, dass im AD dann eine vollständige URL ankommt?

    Gruß


    Peter
    Freitag, 1. April 2011 15:58
  • Hallo Peter,

    OOB fällt mir leider dazu nichts ein. Als Workaround könntest Du aber folgendes nutzten:

    In diesem Thread habe ich ein PowerShell Skript geschrieben wie man die Eigenschaft (im Beispiel PictureURL) eines Benutzerprofils aktualisiert. Diesen könntest Du für Deinen Zweck folgendermaßen nutzen:

    1. Erstelle eine neue SharePoint Benutzerprofil-Eigenschaft über die Zentral Administration. Nenne wir diese z.B. "MySiteURL".
    2. Angepassten Skript im SharePoint Management Shell ausführen, um die MySiteURL mit der vollständigen URL zu aktualisieren:

      #Add-PSSnapin Microsoft.SharePoint.Powershell
      
      [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
      [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")
      
      $s = Get-SPSite "<my site URL>"
      $c = Get-SPServiceContext $s
      
      $profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($c)
      
      $profiles = $profileManager.GetEnumerator();
      
      foreach ($profile in $profiles)
      {
        $shorturl=$profile[[Microsoft.Office.Server.UserProfiles.PropertyConstants]::PersonalSpace].Value;
      
        if($shorturl -ne $null) 
        { 
          $profile["MySiteUrl"].Value = $s.Url+$shorturl;
          $profile.Commit();
        }
      }
      
    3. Das PowerShell Skript als zeitgesteurten Task auf dem Server hinterlegen.
    4. Die aktualisierte Profileigenschaft lässt Du anschließend über "Export" und wwwHomePage mit AD synchronisieren

    Hoffe das hilft.

    Gruß,
    Andrei

    Montag, 4. April 2011 11:18
  • Hallo Andrei,

    die Idee mit der neuen SharePoint-Benutzerprofil-Eigenschaft, die über Dein Script mit der kompletten MySiteURL befüllt wird und anschließend per Profilsynchronisation ins AD geschrieben wird hat meine Problemstellung vollständig gelöst.

    Danke!

    Gruß,

    Peter


    Peter
    Dienstag, 5. April 2011 16:08