2013-11-05 8 views
0

간단한 질문을 시작하면 죄송합니다.하지만 답을 찾지 못했습니다.PowerShell AD 모듈 - 필터의 변수

내 코드는 간단합니다 ... 커맨드 라인에서 스크립트로 변수를 가져 와서 해당 변수를 AD 명령 내에서 필터 문자열로 사용하고 싶습니다.

PARAM($myOU) 

$FoundOUs = Get-ADOrganizationalUnit -Filter 'Name -like "*"' -SearchBase ="OU=Offices,DC=dc1,DC=domain,DC=com" 

그래서, 내가 "*" $ myOU를 교체 할 나는이 작업을 수행하는 방법에 잃은에서입니다 ... 다음과 같이 전합니다. - 필터 이름 $ myOU 등을 시도했지만 행운이 없습니다. 어떤 제안이라도 좋을 것입니다.

+0

이것이 최선의 선택인지 잘 모르겠지만 작동하지 않는 것 같습니다 (게시 직전에 시도해 보았습니다 - 게시하기 전에 시도해야 함) $ FoundOUs = Get-ADOrganizationalUnit -Filter "Name-like '* $ ($ myOU) * ' "-SearchBase ="OU = Offices, DC = dc1, DC = domain, DC = com " 어쨌든,이 작업은 ... 최선의 결과인지는 확실하지 않지만 작동합니다. – astromechjapan

답변

1

를 사용하여 문자열 보간과 같이 : 해당 문자열 보간은 변수가 보간 될 수 있도록 그래서 하나의 & 따옴표의 순서를 바꿀 이중 인용 문자열 발생

$FoundOUs = Get-ADOrganizationalUnit -Filter "Name -like '$myOU'" -SearchBase="OU=Offices,DC=dc1,DC=domain,DC=com" 

참고. 이 경우에는 $($myOU)을 사용할 필요가 없습니다. 예를 들어 속성에 액세스해야 할 때 하위 표현식을 사용합니다. $($myOU.Length) 또는 일반적으로 문자열 내에서 표현식을 평가합니다.