2012-05-27 3 views
0

Я не очень хорошо знаком с Powershell сценариев, и я застрял на этой проблеме: мне нужно сделать некоторые операции на объекте извлеченной так:Вызов [ADSI] с внешним параметром

$object = [ADSI]'LDAP://CN=Test User,OU=Dept,OU=Users,DC=example,DC=org' 
... 
$object.Commit() 

это работает отлично , но я должен использовать отличительное имя хранящегося в переменной - мой тестовый скрипт выглядит так, но он не работает:

$object = [ADSI]'LDAP://$variable' 
... 
$object.Commit() 

первый вызов [ADSI] сама по себе не вызывает ошибку, но любая следующая операция падает с сообщение:

The following exception occurred while retrieving member "commit": "The server is not operational. 
" 
At line:1 char:10 
+ $object.commit <<<<() 
+ CategoryInfo   : NotSpecified: (:) [], ExtendedTypeSystemException 
+ FullyQualifiedErrorId : CatchFromBaseGetMember 

Я уверен, что параметр отправлен некорректно, но я не знаю, как его исправить, может ли кто-нибудь помочь?

tahnks

ответ

5

Try:

$object = [ADSI]"LDAP://$variable" 

Одинарные кавычки не растягиваются переменные.