пятница, 30 октября 2015 г.

SharePoint. Фильтрация пользователей в PeoplePicker


Изначально в выдачу поля типа "Пользователь" попадают все пользователи домена Active Directory и из доменов с которыми установлены доверительные отношения:



В моём случае мне необходимо было отфильтровать некоторых пользователей. Мне не нужны были пользователи без email адреса, к примеру служебные учётные записи. Т.е. не показывать пользователей с пустым или отсутствующим атрибутом mail из AD. Так же я хотел, чтобы PeoplePicker показывал мне пользователей как в адресной книге из Exchange. Адресная книга не отображает пользователей AD, у кого поле msExchHideFromAddressLists установлено в TRUE.

Поведение PeoplePicker'а можно настроить  через утилиту STSADM.EXE, которая находиться в файловой системе по адресу: C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\BIN, так же можно использовать PowerShell.

Для того, чтобы выполнить описанные выше условия, необходимо выполнить следующую команду в STSADM.EXE:

stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(&(mail=*) (!msExchHideFromAddressLists=TRUE))" -url http://server

Можно делать более сложные условия, например делать как в примере выше, но при этом всё равно отображать особенных пользователей. Их особенность в том, что у них атрибут extensionAttribute5 установлен в "Show":

stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(|(&(mail=*)(!msExchHideFromAddressLists=TRUE))(extensionAttribute5=Show))" -url http://server

Чтобы просмотреть какой сейчас фильтр установлен - можно выполнить команду:

stsadm -o getproperty -url http://portal -pn peoplepicker-searchadcustomfilter

Для сброса фильтрации:

stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv " "

Узнать подробнее про запросы к Active Directory можно по ссылке:

https://technet.microsoft.com/en-us/library/aa996205(EXCHG.65).aspx


SharePoint. Группировка по году создания.

У меня возникла необходимость группировать элементы списка именно по году создания. Если выбрать группировку по дате создания, то это не даст нужного результата, к сожалению.
Для достижения цели нам необходимо, для начала, создать вычисляемый столбец:


Назовите его "Год". И задайте значение поля "Формула" вот так: "=ГОД(Дата)" или "=ГОД(Создано)", если вы не создавали отдельного столбца для хранения даты.
Функция "Год()" может быть вам уже знакома из Microsoft Excel.
Важно отметить, что если у вас другой язык в SharePoint, то и формула должна быть написана на соответствующей языке.

После создания столбца "Год" - он будет заполнен значением года. Теперь необходимо создать новое представление и группировать элементы по полю "Год":





Результат должен быть как на картинке:



Так же, если при создании поля вы выбрали тип вычисляемого столбца как "Число", то по этому полю можно будет сортировать.