2013-08-15 4 views
1

은 내가 PowerShell을 사용하고있는 모든 정보를 입력 잘 할 수있는 BitLocker를 Active Directory 개체에서 일부 속성을 끌어하려합니다. 예를 들어필터 매개 변수에서 변수를 사용하는 방법은 무엇입니까?

Get-ADObject -filter 'CN -like "*A3F850A4*"' ` 
      -Properties CanonicalName,msFVE-RecoveryPassword 

작품의 특성을 당겨,하지만 난 그냥 잘 -filter 매개 변수에서 변수를 사용하여 정보를 반환하는 방법을 알아낼 수 없습니다.이 코드는 제가 시도한 코드입니다.

[string]$passwordId = Read-Host ` 
        "What is the first 8 charcters of the recovery password id?" 
Get-ADObject -filter {CN -like $passwordId} ` 
      -Properties CanonicalName,msFVE-RecoveryPassword 

어떤 도움을 주신다면, 특히 스크립트에서 변수를 사용하는 것에 대한 모든 정보를 높이 평가 해주십시오. 감사.

답변

1

AD cmdlet 필터는 실제로 일반적인 PowerShell 구문처럼 작동하지 않습니다. 내가 대신 -LdapFilter을 사용하는 것이 좋습니다 것

(이것은 다른 도구로 휴대 성, 그리고 가장 자주 PowerShell을 흉내 필터에서 너무 많은 차이를 보이지 않음) : 당신은 -Filter 사용을 고집 경우

Get-ADObject -LdapFilter "(cn=*$passwordId*)" 

:

$likePattern = "*$passwordId*" 
Get-ADObject -Filter {cn -like $likePattern} 

또는 대신에 (몇 가지 추가 따옴표)를 사용하여 문자열 표기 :

Get-ADObject -Filter "cn -like '*$passwordId*'" 
당신이 먼저 올바른 문자열을 얻을 것이다 있는지 확인

그러나 다시 :이 필터는 MS AD 모듈 외부에서 작동하지 않습니다. AD 필터 (ADSISearcher 및 AD 용 Quest cmdlet 포함)를 검색 한 모든 도구에서 LDAP 필터를 사용할 수 있습니다.

+0

도움을 주셔서 감사합니다. – urock24

관련 문제