SharePoint: как разрешать/искать утверждения с помощью PowerShell?

У меня есть веб-приложение SharePoint (2010), в котором настроена проверка подлинности на основе утверждений с двумя поставщиками утверждений (Azure ACS и ADFS). Из SP Central Admin -> Управление веб-приложениями -> Политика пользователя -> Добавить пользователей я могу искать пользователей в разных поставщиках удостоверений (я полагаю, что элемент управления называется «Выбор людей»).

Можно ли использовать функции, аналогичные средствам выбора людей в PowerShell?

В принципе, мне нужно что-то вроде этого:

$claim = Resolve-Claim "[email protected]"

который вернет «полное» имя пользователя (включая префикс утверждений), например. i:05.t|acs|[email protected] путем поиска всех поставщиков утверждений, добавленных в SharePoint.

Это возможно? Или, по крайней мере, можно ли перечислить поставщиков утверждений и выполнить поиск по каждому отдельно (это тоже приемлемо)?


person Hallgeir    schedule 17.04.2013    source источник
comment
В отличие от форумов, мы не используем слова «Спасибо» или «Любая помощь приветствуется» или подписи на Stack Overflow. См. раздел Должен ли быть "Привет", "спасибо" слоганов и приветствий удалить из постов?.   -  person John Saunders    schedule 19.04.2013
comment
Отмеченный. Спасибо за внимание.   -  person Hallgeir    schedule 19.04.2013


Ответы (1)


Я нашел какое-то решение...

$claimManager = New-Object Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager

$providers = @()

foreach ($cp in $claimManager.TrustedClaimProviders)
{
    $providers += $cp
}
$provider = $providers[0]
$userId = $provider.Search("http://localhost", $null, $UserName, $null, 1).Children[0].EntityData[0].Key

Основные проблемы с этим решением:

Провайдеры, проходящие, например. Azure ACS на самом деле не ищет, существует ли идентификатор пользователя, а просто возвращает утверждение. Это дает мне префикс для этого поставщика идентификаторов, но я не знаю, действителен ли он, поэтому я не знаю, следует ли мне продолжать поиск других поставщиков идентификаторов или мне следует просто остановиться.

Но я не уверен, является ли это проблемой конфигурации в ACS, или это неотъемлемая слабость реализации метода поиска для поставщиков удостоверений в SharePoint.

person Hallgeir    schedule 19.04.2013