2014-05-21 8 views
0

나는 사용자의 SID를 기반으로하여 Active Directory LDAP 조회를 수행하는 간단한 파워 쉘의 기능을 가지고 :Powershell을 사용하여 Active Directory 사용자 정보 쿼리 - 비슷한 결과를 보이는 다른 결과가 있습니까?

function SidToAdUser($sid) {[adsi]("LDAP://<SID=" + $sid + ">")} 

내가 중간 변수 작품을 통해 접속 반환 된 사용자 개체에서 속성을 읽어하려면 미세 :

$ad = SidToAdUser("S-1-5-21-968173855-142910291-87512543-670313") 
$ad.department 

그러나,이 같은 기능의 리턴 값으로부터 직접 액세스를 시도 :

SidToAdUser("S-1-5-21-968173855-142910291-87512543-670313").department 

오류를 발생시킵니다 :

format-default : The following exception occurred while retrieving member "distinguishedName": "An invalid dn syntax has been specified. 
" 
    + CategoryInfo   : NotSpecified: (:) [format-default], ExtendedTypeSystemException 
    + FullyQualifiedErrorId : CatchFromBaseGetMember,Microsoft.PowerShell.Commands.FormatDefaultCommand 

누구나 정확하게이 문제를 해결할 수있는 이유는 무엇입니까?

감사합니다.

답변

2

함수 호출 구문이 잘못되었습니다.

(SidToAdUser S-1-5-21-968173855-142910291-87512543-670313).department 

powershell에서 함수 인수는 함수 이름 뒤에 공백으로 구분 된 값으로 지정되며 괄호로 묶지 않습니다.

+0

고맙습니다. 이것은 SidToAdUser ("S-1-5-21-968173855-142910291-87512543-670313"). 부서를 작성함으로써 본질적으로 SidToAdUser ("S-1-5-21-968173855-142910291-87512543 -670313 "). 부서? – Ajjajj

+0

정확히 파싱 된 방법을 확인하기 위해 테스트해야합니다. – mjolinor