HanseVision Blog - Living Transformation. Updates zu Digitale Transformation, Digitale Kollaboration, New Work und modernen Arbeitswelten

How-To: Umbenennen eines Sharepoint-Benutzers

Geschrieben von Uwe Mächting (ehemaliger Mitarbeiter) | 13.07.2013

Namensänderungen von SharePoint Benutzern können immer wieder zu überraschenden Resultaten führen, nicht selten sind die Änderungen von Benutzerattributen nicht in allen Sitecollections sichtbar. Mögliche Ursachen und deren Hintergründe werden im Folgenden dargestellt.

Die richtige Reihenfolge:

  1. Durchführung aller notwendigen Änderungen im AD.
    Diese können neben dem Anmeldenamen auch weitere Attribute wie Nachname, Mailadresse, Titel usw. umfassen.
  2. Die Änderung des Anmeldenamens muss SharePoint explizit bekannt gemacht werden und findet nicht automatisch statt.
    Hierbei wird die UserID in der UserInfoTable aller Inhaltsdatenbanken geändert.

stsadm -o migrateuser -oldlogin DOMAIN\oldusername -newlogin DOMAIN\newusername -ignoresidhistory

bzw. mit PowerShell

Move-SPUser -Identity “DOMAIN\oldusername ” -NewAlias “DOMAIN\newusername ” -IgnoreSID

  1. Attribute-Änderungen werden im Benutzerprofil erst sichtbar, nachdem der TimerJob des “User Profile Synchronisation Service” (UPSS) gelaufen ist. Das Intervall hängt von der Konfiguration des UPSS ab.
  2. Ein weiterer TimerJob “User Profile to SharePoint Full Synchronization” (Standardausführungsintervall: jede Stunde) ist unter Anderem für die Synchronisation der Daten des UPS in die Tabelle UserInfo der verschiedenen Inhaltsdatenbanken verantwortlich. Aus dieser Tabelle werden die “User Information List” der einzelnen Sitecollections gebildet. Dieser Schritt wird nur dann ausgeführt, wenn der UPS-Proxy mit der zugehörigen Webanwendung verbunden ist.
    Erste jetzt sind die geänderten Attribute farmweit in allen Sitecollections sichtbar.

Wenn es klemmt:

Dennoch kommt es in der Praxis immer wieder vor, dass in den Wochen nach einer Namensänderung gelegentlich Sitecollections auftauchen können, in denen noch der alte Name angezeigt wird.

Ursache hierfür kann sein, dass der Timerjob “User Profile to SharePoint Full Synchronization” nur aktive Benutzerkonten einer Sitecollection synchronisiert. Ein Konto ist aktiv, wenn der Benutzer in einer Sitecollection Daten erstellt, geändert oder gelöscht hat. Ein ausschließlich lesender Zugriff belässt das Konto auf inaktiv. Wird ein solches Konto nach einer Namensänderung aktiv, wird es mit dem alten Benutzerdaten angezeigt.

Eine vollständige Synchronisation, auch der inaktiven Konten, kann wie folgt erreicht werden:

stsadm –o sync –ignoreisactive 1

Weitere Details zu diesem Verhalten hat Roger Cormier in seinem Artikel How to Update Inactive User Profile Information in SharePoint beschrieben. Der Artikel von Nishant Shah Troubleshooting User Profile Sync Issues in Office SharePoint Server 2007 enthält unter Anderem eine Liste mit weiteren Punkten, die eine erfolgreiche Synchronisation verhindern können.

Synchronisation ohne UPS:

Sollen gezielt nur Daten eines Benutzerkontos mit dem Active Directory synchronisiert werden, ist dies mit Set-SPUser im Zusammenhang mit dem Parameter -SyncFromAD möglich. Diese Methode bietet sich in SharePoint Foundation-Umgebungen an, wo kein UPS zur Verfügung steht.

Das Skript von Gary Laponte aktualisiert farmweit für einen Benutzer alle User Information Lists:

function Sync-SPUser([string]$userName) {
  Get-SPSite -Limit All | foreach {
    $web = $_.RootWeb
    if ($_.WebApplication.UseClaimsAuthentication) {
      $claim = New-SPClaimsPrincipal $userName -IdentityType WindowsSamAccountName
      $user = $web | Get-SPUser -Identity $claim -ErrorAction SilentlyContinue
    } else {
      $user = $web | Get-SPUser -Identity $userName -ErrorAction SilentlyContinue
    }
    if ($user -ne $null) {
      $web | Set-SPUser -Identity $user -SyncFromAD
    }
    $web.Dispose()
    $_.Dispose()
  }
}

Zu beachten ist, dass Set-SPUser nur die Attribute des Anzeigenamens sowie der Emailadresse synchronisiert.

Mit etwas mehr Aufwand ist es auch möglich weitere Attribute zu synchronisieren. Details hierzu finden sich in dem ausgezeichneten Artikel Update SharePoint 2010 User Information von Gary Laponte.

Credits: