SharePoint Benutzereigenschaften Mapping

By | 22. Juli 2019

In diesem Artikel möchte ich euch zeigen, wie Ihr ganz einfach das SharePoint Benutzereigenschaften Mapping für den Active Directory-Import anpassen könnt. Seit SharePoint Server 2016 gibt es standardmäßig keinen Forefront Identity Manager (FIM) mehr, um SharePoint Benutzereigenschaften mit dem Active Directory zu synchronisieren. Der FIM wurde durch den leichtgewichtigen und wesentlich stabileren Active Directory-Import ersetzt.

Bei der Nutzung vom Active Directory-Import fällt auf, dass das gewohnte SharePoint Benutzereigenschaften Mapping nicht mehr vorhanden ist.

So sieht das SharePoint Benutzereigenschaften Mapping bei der Nutzung des FIM aus.

SharePoint Benutzereigenschaften Mapping

Beim Active Directory-Import sieht dieses Mapping wesentlich übersichtlicher aus.

SharePoint Benutzereigenschaften Mapping

Um das standardmäßige Mapping für die Synchronisation wieder hinzufügen zu können, kann man dieses kleine PowerShell Skript nutzen. Mit diesem Skript hat man das gleiche Mapping, wie beim früheren FIM.

if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) 
{
    Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}

# URL der SharePoint Zentraladministration
$caURL = "http://centraladministration:2016"

$site = New-Object Microsoft.SharePoint.SPSite $caUrl
$context = [Microsoft.SharePoint.SPServiceContext]::GetContext($site)
$configManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager $context
$UPAConnMgr = $configManager.ConnectionManager
# Das Mapping wird für alle hinterlegten Verbindungen hinterlegt
Foreach($Connection in $UPAConnMgr) {
    if($Connection.Type -eq "ActiveDirectoryImport") { 
        $Connection.AddPropertyMapping("distinguishedName","SPS-DistinguishedName")        
        $Connection.AddPropertyMapping("objectSid","SID")
        $Connection.AddPropertyMapping("manager","Manager")
        $Connection.AddPropertyMapping("displayName","PreferredName")  
        $Connection.AddPropertyMapping("givenName","FirstName")
        $Connection.AddPropertyMapping("sn","LastName")
        $Connection.AddPropertyMapping("msDS-PhoneticDisplayName","SPS-PhoneticDisplayName")
        $Connection.AddPropertyMapping("msDS-PhoneticFirstName","SPS-PhoneticFirstName")
        $Connection.AddPropertyMapping("msDS-PhoneticLastName","SPS-PhoneticLastName")
        $Connection.AddPropertyMapping("telephoneNumber","WorkPhone")
        $Connection.AddPropertyMapping("mail","WorkEmail")
        $Connection.AddPropertyMapping("physicalDeliveryOfficeName","Office")
        $Connection.AddPropertyMapping("title","SPS-JobTitle")
        $Connection.AddPropertyMapping("title","Title")
        $Connection.AddPropertyMapping("department","Department")
        $Connection.AddPropertyMapping("department","SPS-Department")
        $Connection.AddPropertyMapping("sAMAccountName","UserName")
        $Connection.AddPropertyMapping("wWWHomePage","PublicSiteRedirect")
        $Connection.AddPropertyMapping("proxyAddresses","SPS-ProxyAddresses")
        $Connection.AddPropertyMapping("proxyAddresses","SPS-SipAddress")
        $Connection.AddPropertyMapping("msDS-SourceObjectDN","SPS-SourceObjectDN")
        $Connection.AddPropertyMapping("mobile","CellPhone")
        $Connection.AddPropertyMapping("facsimileTelephoneNumber","Fax")
        $Connection.Update() 
        Write-Host "Updated successfully..."
    }
}

Nach der Ausführung des Skripts ist das Mapping identisch zur FIM Variante, was man auch in der Zentraladministration kontrollieren kann. Der einzige Unterschied ist die Eigenschaft für den Distinguished Name. Bei der Nutzung des FIM wird die Eigenschaft auf die Eigenschaft dn gemappt. Hier erfolgt das Mapping innerhalb des FIM. Nachdem wir an dieser Stelle aber keinen FIM im Einsatz haben, müssen wir das Mapping auf die ursprüngliche Eigenschaft im Active Directory setzen.

In diesem Sinne, Happy SharePointing…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.