2013-04-17 5 views
1

두 가지 클레임 공급자 (Azure ACS 및 ADFS)를 사용하여 클레임 기반 인증으로 설정된 SharePoint (2010) 웹 응용 프로그램이 있습니다. SP Central Admin -> Manage Web Applications -> User Policy -> Add User에서 다른 아이디 공급자의 사용자를 검색 할 수 있습니다.이 컨트롤은 "People Picker"라고합니다.SharePoint : PowerShell을 사용하여 클레임을 해결하거나 검색하려면 어떻게합니까?

PowerShell에서 사람 선택 도구와 비슷한 기능을 사용할 수 있습니까?

(주장 접두사 포함) "완전한"사용자 이름을 반환
$claim = Resolve-Claim "[email protected]" 

, 예를 들면 : 원칙적으로

는, 내가 필요한 것은이 같은 것입니다 i : 05.t | acs | [email protected] SharePoint에 추가 된 모든 클레임 공급자를 검색합니다.

이것이 가능합니까? 아니면 적어도 클레임 공급자를 열거하고 각각을 개별적으로 검색 할 수 있습니까 (이는 또한 허용됩니다)? 내가 솔루션의 일종을 발견

+0

포럼 사이트와 달리 "감사합니다"또는 "도움을 주셨습니다"또는 [그래서]의 서명을 사용하지 않습니다. "[안녕하세요, '고마워,'태그 라인 및 인사말을 게시물에서 삭제해야합니까?] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be 참조) -removed-from-posts) –

+0

주목 해 주셔서 감사합니다. – Hallgeir

답변

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는 사용자 ID가 있는지 실제로 검색하지 않고 요청을 반환합니다. 이 ID 공급자에 대한 접두사를 제공하지만 유효한지 여부를 알 수 없으므로 다른 ID 공급자를 계속 검색해야하는지 또는 중지해야하는지 여부는 알 수 없습니다.

그러나 이것이 ACS의 구성 문제인지 또는 SharePoint의 ID 공급자 검색 방법의 구현에 내재 된 약점인지 확실하지 않습니다.

관련 문제