Archiv für September 2010

1 Jahr mit Blog + SharePoint 2010 Master Kurs Redmond

9 September 2010

Heute auf den Tag genau ist ein Jahr vergangen, seitdem ich den ersten Eintrag hier geschrieben habe. Das wollte ich kurz mit dem Bild festhalten ;-)

Jetzt steht fest, ab 11. Oktober bin ich für 3 Wochen in Redmond. Dort habe ich meinen SharePoint 2010 Master Kurs und unmittelbar danach auch die Zertifizierung.

Für die Zeit in Redmond habe ich mir vorgenommen, in dem Blog richtig viel Inhalt beizusteuern. Und es gibt sehr viele Themen über die ich hier schrieben wollte, aber bis jetzt zeitlich nicht wirklich dazu gekommen bin.

Damit auf das nächste Jahr mit Blog und Technologie!

Bookmark and Share

Langsam: PeoplePicker SharePoint + Large Active Directory Forest

7 September 2010

Seit Monaten habe ich eine Lösung für ein Problem mit dem PeoplePicker gesucht. Wir haben einen eigenen Form Authentification Provider auf Basis einer SQL DB erstellt. Leider versucht SharePoint standardmäßig an dieser Stelle die SID vom User im AD aufzulösen, obwohl es keine Active Directory Account waren. Das führte dazu, dass zwar der User recht schnell gefunden wurde, danach aber es bis zu 3 Minuten gedauert hat, bis SharePoint festgestellt hat, dass der Account in AD nicht existiert. Bei dem Kunden handelt es sich um eine sehr große Landschaft mit über 400.000 Account in vielen Domains.

Es existiert eine nicht dokumentierte Einstellung für den PeoplePicker, die es SharePoint dazu bringt, nur für domain\account, also nur bei Account mit einem Backslash ( \ ) die Funktion TranslateToSids aufzurufen.

System.Security.Principal.NTAccount.TranslateToSids(System.Security.Principal.IdentityReferenceCollection, Boolean ByRef

Das Verhalten vom PeoplePicker kann über stsadm konfiguriert werden. Leider keiner der Parameter hat das gewünschte Verhalten konfigurieren können:

Eigenschaftenname

Beschreibung

Peoplepicker-activedirectorysearchtimeout

Konfiguriert den Timeoutwert zum Ausstellen einer Abfrage für Active Directory.

Peoplepicker-distributionlistsearchdomains

Schränkt die Suche in einer Verteilerliste auf bestimmte Domänen ein.

Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode

Gibt an, dass Active Directory nicht durchsucht werden soll, wenn für den aktuellen Port die formularbasierte Authentifizierung verwendet wird.

Peoplepicker-onlysearchwithinsitecollection

Zeigt nur Benutzer an, die Mitglieder der Websitesammlung sind.

Peoplepicker-searchadcustomquery

Ermöglicht dem Administrator das Festlegen der benutzerdefinierten Abfrage, die an Active Directory gesendet wird.

Peoplepicker-searchadforests

Ermöglicht einem Benutzer die Suche in einer zweiten unidirektional vertrauenswürdigen Gesamtstruktur oder Domäne.

 

Quelle: http://technet.microsoft.com/de-de/library/cc263318(office.12).aspx

http://blogs.msdn.com/b/sharepoint/archive/2006/03/15/552331.aspx

Die Rettung kam dann vom Russmax-Blog. Er hat eine Einstellung gefunden, die das Verhalten für alle nicht domain\account entsprechend verändert.

Es lässt sich per PowerShell anpassen:

[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)
$site = new-object -typename Microsoft.SharePoint.SPSite(“http://url-of-your-site”)
$site.WebApplication.PeoplePickerSettings
$ps=$site.WebApplication.PeoplePickerSettings
$wa=$site.WebApplication
$ps.ActiveDirectoryRestrictIsolatedNameLevel=$true;

$wa.Update();

Und es funktioniert jetzt richtig schnell!

 

Bookmark and Share