2016-04-06 2 views
2

Я попытался создать скрипт powershell, который позволяет мне найти правильный компьютер с помощью его тега сервиса в AD. До сих пор я мог сделать это, написав тег службы в сценарии, но когда я хотел передать его с переменной, она не позволяет мне сделать это, и показывает эту ошибку:Get-ADComputer -Filter имя не принимает переменную для компьютерного поиска

Get-ADComputer : A positional parameter cannot be found that accepts argument 'GCX0YY1"'. At line:2 char:1 + Get-ADComputer -Filter 'Name -like "*'$name'"'

$name = Read-Host 'Write the computers service tag' 
Get-ADComputer -Filter 'Name -like "*'$name'"' 

ответ

2

Переменная $name не может быть разрешена, если вы используете одинарные кавычки в своей строке. Вы можете использовать string format (псевдоним -f), чтобы получить переменную в месте:

$name = Read-Host 'Write the computers service tag' 
Get-ADComputer -Filter ('Name -like "{0}"' -f $name) 
+0

Спасибо так много! Он работает сейчас! –

+0

Добро пожаловать. Вы также можете использовать двойные qutoes, такие как «Chard», упомянутые в его ответе. –

Смежные вопросы