Почему нет приведенной ниже командной строки get-adcomputer? Это действительно раздражает, когда командлеты не поддерживают синтаксис powershell. По крайней мере, похоже, что это происходит здесь. Если я делаю запись-вывод, он отображает именно то, что я хочу вставить в командную строку. Однако, когда я использую его с командлетом get-adcomputer, результаты не возвращаются.Модуль Powershell ActiveDirectory Переменная с подстановочным знаком не работает
PS: C:\> $Variable = "88FF"
PS: C:\> write-output "*$($Variable)*"
*88FF*
PS: C:\> Get-ADComputer -Filter {Name -like "*$($Variable)*"} -Property *
PS: C:\>
PS: C:\> Get-ADComputer -Filter {Name -like "*88FF*"} -Property *
computer1
computer2
computer3
Я пробовал кучу разных вариантов ... в том числе даже при добавлении буквальные кавычки переменной, убегая их. Я вытаскиваю свои волосы, пытаясь понять, что нужно делать менее 10 секунд.
PS: C:\> $Variable = "`"*888FF*`""
PS: C:\> $Variable
"*88FF*"
PS: C:\> PS: C:\> Get-ADComputer -Filter {Name -like $Variable} -Property *
PS: C:\>
Edit: Я также попытался ниже варианта с точно таким же результатом:
PS: C:\> Get-ADComputer -Filter {Name -like '*$Variable*'} -Property *
PS: C:\>
Является '' -Property * действительный ключ/аргумент? Этот http://technet.microsoft.com/en-us/library/ee617192.aspx, по-видимому, указывает, что действительный коммутатор - '-Properties' –
@inquisitor yes -property просто отлично. –
Возможный дубликат [Powershell Passing Variable to -Filter with Wild Card] (http://stackoverflow.com/questions/19171597/powershell-passing-variable-to-filter-with-wild-card) – JPBlanc